==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_4caede18-3e4d-4d4a-9272-077b31a00ae2]...done ==> Making package: curl 8.14.1-1.1 (Wed Jun 4 22:51:50 2025) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.14.1-1/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.14.1-1.1 (Wed Jun 4 20:52:49 2025) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (9) New Version Net Change core/debuginfod 0.193-2 0.42 MiB core/libmicrohttpd 1.0.1-1 0.59 MiB extra/perl-error 0.17030-1 0.04 MiB extra/perl-mailtools 2.22-1 0.10 MiB extra/perl-timedate 2.33-7 0.08 MiB extra/zlib-ng 2.2.4-1 0.26 MiB extra/git 2.49.0-2 28.64 MiB extra/patchelf 0.18.0-3 0.24 MiB extra/valgrind 3.25.1-1 74.38 MiB Total Installed Size: 104.75 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 zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` 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.193: 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 971. Creating user 'git' (git daemon user) with UID 971 and GID 971. (2/5) Reloading system manager configuration... Skipped: Current root is not booted. (3/5) Arming ConditionNeedsUpdate... (4/5) Checking for 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()... 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:128: installing './compile' configure.ac:436: installing './config.guess' configure.ac:436: installing './config.sub' configure.ac:128: installing './install-sh' configure.ac:134: installing './missing' docs/examples/Makefile.am: installing './depcomp' ==> Starting build()... 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 whether to enable SSL session export 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 whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.14.1 checking for httpd... no checking for apache2... 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... no 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 which variant of shared library versioning to provide... (default) aix 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 '1501' (raw: '15.1.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 no checking whether build target supports Win32 crypto API... 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 checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 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_free 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 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 stdint.h... (cached) yes checking for sys/filio.h... no checking for sys/eventfd.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 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_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 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 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/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 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 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 for accept4... 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 mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... 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 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 stricmp can be linked... no checking if stricmp might be used... no checking for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed 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 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 enable HTTPS-RR support... no 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/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/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: 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 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.14.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) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) 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-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.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-connect.lo CC libcurl_la-conncache.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_addrinfo.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_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-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.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-fake_addrinfo.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-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.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_digest.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.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-ldap.lo CC libcurl_la-krb5.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-multi_ev.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-rename.lo CC libcurl_la-rand.lo CC libcurl_la-request.lo CC libcurl_la-select.lo CC libcurl_la-rtsp.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-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-cookie.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_des.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-fopen.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-inet_ntop.lo CC libcurlu_la-krb5.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-openldap.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-rename.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-share.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-bearssl.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-mbedtls_threadlock.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-sectransp.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_msh3.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-curl_path.lo CC curlx/libcurlu_la-base64.lo CC vssh/libcurlu_la-wolfssh.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-winapi.lo CC curlx/libcurlu_la-warnless.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-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-x509asn1.lo CC vtls/libcurl_la-wolfssl.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 CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la 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 RENDER runtests.1 RENDER testcurl.1 Making all in . make[2]: Entering directory '/startdir/src/build-curl/docs' RENDER wcurl.1 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.3 RENDER CURLINFO_APPCONNECT_TIME_T.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_CONTENT_LENGTH_DOWNLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 RENDER CURLINFO_CONNECT_TIME_T.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD.3 RENDER CURLINFO_CONTENT_TYPE.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD_T.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_HTTPAUTH_USED.3 RENDER CURLINFO_LASTSOCKET.3 RENDER CURLINFO_LOCAL_IP.3 RENDER CURLINFO_LOCAL_PORT.3 RENDER CURLINFO_NAMELOOKUP_TIME.3 RENDER CURLINFO_NAMELOOKUP_TIME_T.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_USED.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_SESSION_ID.3 RENDER CURLINFO_RTSP_SERVER_CSEQ.3 RENDER CURLINFO_SCHEME.3 RENDER CURLINFO_SIZE_DOWNLOAD_T.3 RENDER CURLINFO_SIZE_DOWNLOAD.3 RENDER CURLINFO_SIZE_UPLOAD.3 RENDER CURLINFO_SIZE_UPLOAD_T.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_PIPELINING.3 RENDER CURLMOPT_MAXCONNECTS.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_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLMOPT_SOCKETFUNCTION.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_FNMATCH_FUNCTION.3 RENDER CURLOPT_FOLLOWLOCATION.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_INFILESIZE.3 RENDER CURLOPT_IGNORE_CONTENT_LENGTH.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_MAXCONNECTS.3 RENDER CURLOPT_MAXFILESIZE.3 RENDER CURLOPT_MAXFILESIZE_LARGE.3 RENDER CURLOPT_MAXLIFETIME_CONN.3 RENDER CURLOPT_MAXREDIRS.3 RENDER CURLOPT_MIME_OPTIONS.3 RENDER CURLOPT_MIMEPOST.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_OPENSOCKETFUNCTION.3 RENDER CURLOPT_OPENSOCKETDATA.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_PROXY.3 RENDER CURLOPT_PROTOCOLS_STR.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_CIPHER_LIST.3 RENDER CURLOPT_PROXY_SSL_OPTIONS.3 RENDER CURLOPT_PROXY_SSL_VERIFYHOST.3 RENDER CURLOPT_PROXY_SSLCERT.3 RENDER CURLOPT_PROXY_SSL_VERIFYPEER.3 RENDER CURLOPT_PROXY_SSLCERT_BLOB.3 RENDER CURLOPT_PROXY_SSLCERTTYPE.3 RENDER CURLOPT_PROXY_SSLKEY.3 RENDER CURLOPT_PROXY_SSLKEY_BLOB.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_READDATA.3 RENDER CURLOPT_RANDOM_FILE.3 RENDER CURLOPT_RANGE.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_SERVICE_NAME.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.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_SSH_AUTH_TYPES.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.3 RENDER CURLOPT_SSH_COMPRESSION.3 RENDER CURLOPT_SSH_HOSTKEYFUNCTION.3 RENDER CURLOPT_SSH_HOSTKEYDATA.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_PUBLIC_KEYFILE.3 RENDER CURLOPT_SSH_PRIVATE_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_FALSESTART.3 RENDER CURLOPT_SSL_ENABLE_NPN.3 RENDER CURLOPT_SSL_OPTIONS.3 RENDER CURLOPT_SSL_SESSIONID_CACHE.3 RENDER CURLOPT_SSL_SIGNATURE_ALGORITHMS.3 RENDER CURLOPT_SSL_VERIFYHOST.3 RENDER CURLOPT_SSL_VERIFYPEER.3 RENDER CURLOPT_SSL_VERIFYSTATUS.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_TELNETOPTIONS.3 RENDER CURLOPT_TCP_NODELAY.3 RENDER CURLOPT_TFTP_BLKSIZE.3 RENDER CURLOPT_TFTP_NO_OPTIONS.3 RENDER CURLOPT_TIMECONDITION.3 RENDER CURLOPT_TIMEOUT.3 RENDER CURLOPT_TIMEVALUE.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLSAUTH_PASSWORD.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_TYPE.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_UPLOAD_FLAGS.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_cleanup.3 RENDER curl_easy_duphandle.3 RENDER curl_easy_escape.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_init.3 RENDER curl_easy_header.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_option_by_id.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_ssls_export.3 RENDER curl_easy_setopt.3 RENDER curl_easy_ssls_import.3 RENDER curl_easy_strerror.3 RENDER curl_easy_unescape.3 RENDER curl_formadd.3 RENDER curl_easy_upkeep.3 RENDER curl_escape.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_sslset.3 RENDER curl_global_trace.3 RENDER curl_mime_addpart.3 RENDER curl_mime_data.3 RENDER curl_mime_encoder.3 RENDER curl_mime_data_cb.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_action.3 RENDER curl_multi_socket.3 RENDER curl_multi_socket_all.3 RENDER curl_multi_timeout.3 RENDER curl_multi_strerror.3 RENDER curl_multi_wait.3 RENDER curl_multi_waitfds.3 RENDER curl_pushheader_byname.3 RENDER curl_multi_wakeup.3 RENDER curl_pushheader_bynum.3 RENDER curl_share_cleanup.3 RENDER curl_share_init.3 RENDER curl_share_strerror.3 RENDER curl_share_setopt.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-dbg.3 RENDER libcurl-env.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-tutorial.3 RENDER libcurl-url.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 curl-config2setopts.o CC curl-slist_wc.o CC curl-terminal.o CC curl-tool_bname.o CC curl-tool_cb_dbg.o CC curl-tool_cb_hdr.o CC curl-tool_cb_prg.o CC curl-tool_cb_rea.o CC curl-tool_cb_see.o CC curl-tool_cb_wrt.o CC curl-tool_cb_soc.o CC curl-tool_cfgable.o CC curl-tool_dirhie.o CC curl-tool_doswin.o CC curl-tool_easysrc.o CC curl-tool_filetime.o CC curl-tool_findfile.o CC curl-tool_formparse.o CC curl-tool_getparam.o CC curl-tool_getpass.o CC curl-tool_help.o CC curl-tool_helpers.o CC curl-tool_ipfs.o CC curl-tool_libinfo.o CC curl-tool_listhelp.o CC curl-tool_main.o CC curl-tool_msgs.o CC curl-tool_operate.o CC curl-tool_operhlp.o CC curl-tool_paramhlp.o CC curl-tool_progress.o CC curl-tool_parsecfg.o CC curl-tool_setopt.o CC curl-tool_sleep.o CC curl-tool_ssls.o CC curl-tool_stderr.o CC curl-tool_strdup.o CC curl-tool_urlglob.o CC curl-tool_util.o CC curl-tool_vms.o CC curl-tool_writeout.o CC curl-tool_writeout_json.o CC curl-tool_xattr.o CC curl-var.o CC ../lib/curlx/curl-base64.o CC ../lib/curlx/curl-dynbuf.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-strparse.o CC ../lib/curlx/curl-timediff.o CC ../lib/curlx/curl-timeval.o CC ../lib/curlx/curl-version_win32.o CC ../lib/curlx/curl-warnless.o echo '/* !checksrc! disable COPYRIGHT all */' > tool_hugehelp.c; \ echo '#include "tool_hugehelp.h"' >> tool_hugehelp.c echo '/* !checksrc! disable COPYRIGHT all */' > tool_ca_embed.c echo 'extern const void *curl_ca_embed; const void *curl_ca_embed;' >> tool_ca_embed.c CC curlinfo.o CC libcurltool_la-config2setopts.lo CC libcurltool_la-terminal.lo CC libcurltool_la-slist_wc.lo CC libcurltool_la-tool_bname.lo CC libcurltool_la-tool_cb_dbg.lo CC libcurltool_la-tool_cb_hdr.lo CC libcurltool_la-tool_cb_prg.lo CC libcurltool_la-tool_cb_rea.lo CC libcurltool_la-tool_cb_see.lo CC libcurltool_la-tool_cb_wrt.lo CC libcurltool_la-tool_cb_soc.lo CC libcurltool_la-tool_cfgable.lo CC libcurltool_la-tool_dirhie.lo CC libcurltool_la-tool_doswin.lo CC libcurltool_la-tool_easysrc.lo CC libcurltool_la-tool_filetime.lo CC libcurltool_la-tool_findfile.lo CC libcurltool_la-tool_formparse.lo CC libcurltool_la-tool_getparam.lo CC libcurltool_la-tool_getpass.lo CC libcurltool_la-tool_help.lo CC libcurltool_la-tool_helpers.lo CC libcurltool_la-tool_ipfs.lo CC libcurltool_la-tool_libinfo.lo CC libcurltool_la-tool_listhelp.lo CC libcurltool_la-tool_main.lo CC libcurltool_la-tool_msgs.lo CC libcurltool_la-tool_operate.lo CC libcurltool_la-tool_operhlp.lo CC libcurltool_la-tool_paramhlp.lo CC libcurltool_la-tool_parsecfg.lo CC libcurltool_la-tool_progress.lo CC libcurltool_la-tool_setopt.lo CC libcurltool_la-tool_sleep.lo CC libcurltool_la-tool_ssls.lo CC libcurltool_la-tool_stderr.lo CC libcurltool_la-tool_strdup.lo CC libcurltool_la-tool_urlglob.lo CC libcurltool_la-tool_util.lo CC libcurltool_la-tool_vms.lo CC libcurltool_la-tool_writeout.lo CC libcurltool_la-tool_writeout_json.lo CC libcurltool_la-tool_xattr.lo CC libcurltool_la-var.lo CC ../lib/curlx/libcurltool_la-base64.lo CC ../lib/curlx/libcurltool_la-multibyte.lo CC ../lib/curlx/libcurltool_la-dynbuf.lo CC ../lib/curlx/libcurltool_la-nonblock.lo CC ../lib/curlx/libcurltool_la-strparse.lo CC ../lib/curlx/libcurltool_la-timediff.lo CC ../lib/curlx/libcurltool_la-timeval.lo CC ../lib/curlx/libcurltool_la-version_win32.lo CC ../lib/curlx/libcurltool_la-warnless.lo CC curl-tool_hugehelp.o CC curl-tool_ca_embed.o CCLD curlinfo CCLD curl CCLD libcurltool.la 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: cannot generate completion script'; else \ /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell zsh > _curl; fi if test -z "/usr/bin/perl"; then echo 'No perl: cannot generate completion script'; else \ /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --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' 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 whether to enable SSL session export 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 whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.14.1 checking for httpd... no checking for apache2... 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... no 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 which variant of shared library versioning to provide... (default) aix 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 '1501' (raw: '15.1.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 no checking whether build target supports Win32 crypto API... 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 checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 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_free 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 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 stdint.h... (cached) yes checking for sys/filio.h... no checking for sys/eventfd.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 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_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 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 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/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 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 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 for accept4... 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 mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... 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 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 stricmp can be linked... no checking if stricmp might be used... no checking for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed 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 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 enable HTTPS-RR support... no 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/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/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: 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 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.14.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) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) 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-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cfilters.lo CC libcurl_la-cf-socket.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cshutdn.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_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-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.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-fake_addrinfo.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-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.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_negotiate.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.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-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-multi_ev.lo CC libcurl_la-noproxy.lo CC libcurl_la-netrc.lo CC libcurl_la-openldap.lo CC libcurl_la-pop3.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.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-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_des.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fopen.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-inet_ntop.lo CC libcurlu_la-krb5.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-rename.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-share.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-bearssl.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-mbedtls_threadlock.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-sectransp.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_msh3.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic-tls.lo CC vquic/libcurlu_la-vquic.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-curl_path.lo CC vssh/libcurlu_la-wolfssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.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_threadlock.lo CC vtls/libcurl_la-mbedtls.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-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.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 CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la 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-curl_des.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.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-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: .libs/libcurl_la-inet_ntop.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-system_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-vtls_spack.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 /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-compat/lib' make: Leaving directory '/startdir/src/build-curl-compat/lib' 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 whether to enable SSL session export 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 whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.14.1 checking for httpd... no checking for apache2... 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... no 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 which variant of shared library versioning to provide... (default) aix 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 '1501' (raw: '15.1.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 no checking whether build target supports Win32 crypto API... 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.9 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_free 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 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 stdint.h... (cached) yes checking for sys/filio.h... no checking for sys/eventfd.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 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_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 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 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/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 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 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 for accept4... 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 mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... 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 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 stricmp can be linked... no checking if stricmp might be used... no checking for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed 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 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 enable HTTPS-RR support... no 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/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/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: 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 -lpsl -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.14.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) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) 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-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.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-socket.lo CC libcurl_la-cf-https-connect.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-cshutdn.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_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-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.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-fake_addrinfo.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-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.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-httpsrr.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-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-multi_ev.lo CC libcurl_la-netrc.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-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_des.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-fopen.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-inet_ntop.lo CC libcurlu_la-krb5.lo CC libcurlu_la-macos.lo CC libcurlu_la-llist.lo CC libcurlu_la-ldap.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-rename.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-share.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-bearssl.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-mbedtls_threadlock.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-sectransp.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_msh3.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-curl_path.lo CC vssh/libcurlu_la-wolfssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.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-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.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 CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la 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-curl_memrchr.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-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: .libs/libcurl_la-inet_ntop.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-system_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-vtls_spack.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 /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.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' /usr/bin/perl /startdir/src/curl/tests/certs/genserv.pl test test-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm test-client-cert.prm test-client-eku-only.prm /usr/bin/openssl OpenSSL 3.5.0 8 Apr 2025 (Library: OpenSSL 3.5.0 8 Apr 2025) Certificate request self-signature ok subject=C=NN, O=Edel Curl Arctic Illudium Research Cloud, CN=Northern Nowhere Trust Anchor CA root generated: test 6000 days prime256v1 Certificate generated: CA=test 300days prime256v1 test-localhost Certificate generated: CA=test 300days prime256v1 test-localhost.nn Certificate generated: CA=test 300days prime256v1 test-localhost0h Certificate generated: CA=test 300days prime256v1 test-localhost-san-first Certificate generated: CA=test 300days prime256v1 test-localhost-san-last Certificate generated: CA=test 300days prime256v1 test-client-cert Certificate generated: CA=test 300days prime256v1 test-client-eku-only 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/curlx/resolve-base64.o CC ../../lib/curlx/resolve-multibyte.o CC ../../lib/curlx/resolve-nonblock.o CC ../../lib/curlx/resolve-strparse.o CC ../../lib/curlx/resolve-timediff.o CC ../../lib/curlx/resolve-timeval.o CC ../../lib/curlx/resolve-version_win32.o CC ../../lib/curlx/resolve-warnless.o CC ../../lib/curlx/resolve-winapi.o CC resolve-getpart.o CC resolve-util.o CC resolve-resolve.o CC ../../lib/curlx/rtspd-base64.o CC ../../lib/curlx/rtspd-multibyte.o CC ../../lib/curlx/rtspd-nonblock.o CC ../../lib/curlx/rtspd-strparse.o CC ../../lib/curlx/rtspd-timediff.o CC ../../lib/curlx/rtspd-timeval.o CC ../../lib/curlx/rtspd-version_win32.o CC ../../lib/curlx/rtspd-warnless.o CC ../../lib/curlx/rtspd-winapi.o CC rtspd-getpart.o CC rtspd-util.o CC rtspd-rtspd.o CC ../../lib/sockfilt-memdebug.o CC ../../lib/curlx/sockfilt-base64.o CC ../../lib/curlx/sockfilt-multibyte.o CC ../../lib/curlx/sockfilt-nonblock.o CC ../../lib/curlx/sockfilt-strparse.o CC ../../lib/curlx/sockfilt-timediff.o CC ../../lib/curlx/sockfilt-timeval.o CC ../../lib/curlx/sockfilt-version_win32.o CC ../../lib/curlx/sockfilt-warnless.o CC sockfilt-getpart.o CC ../../lib/curlx/sockfilt-winapi.o CC sockfilt-util.o CC ../../lib/curlx/sockfilt-inet_pton.o CC sockfilt-sockfilt.o CC ../../lib/sws-memdebug.o CC ../../lib/curlx/sws-base64.o CC ../../lib/curlx/sws-multibyte.o CC ../../lib/curlx/sws-nonblock.o CC ../../lib/curlx/sws-strparse.o CC ../../lib/curlx/sws-timediff.o CC ../../lib/curlx/sws-timeval.o CC ../../lib/curlx/sws-version_win32.o CC ../../lib/curlx/sws-warnless.o CC sws-getpart.o CC ../../lib/curlx/sws-winapi.o CC sws-util.o CC ../../lib/curlx/sws-inet_pton.o CC sws-sws.o CC ../../lib/tftpd-memdebug.o CC ../../lib/curlx/tftpd-base64.o CC ../../lib/curlx/tftpd-multibyte.o CC ../../lib/curlx/tftpd-nonblock.o CC ../../lib/curlx/tftpd-strparse.o CC ../../lib/curlx/tftpd-timediff.o CC ../../lib/curlx/tftpd-timeval.o CC ../../lib/curlx/tftpd-version_win32.o CC ../../lib/curlx/tftpd-warnless.o CC ../../lib/curlx/tftpd-winapi.o CC tftpd-getpart.o CC tftpd-util.o CC tftpd-tftpd.o CC ../../lib/socksd-memdebug.o CC ../../lib/curlx/socksd-base64.o CC ../../lib/curlx/socksd-multibyte.o CC ../../lib/curlx/socksd-nonblock.o CC ../../lib/curlx/socksd-strparse.o CC ../../lib/curlx/socksd-timediff.o CC ../../lib/curlx/socksd-timeval.o CC ../../lib/curlx/socksd-version_win32.o CC ../../lib/curlx/socksd-warnless.o CC ../../lib/curlx/socksd-winapi.o CC socksd-getpart.o CC socksd-util.o CC ../../lib/curlx/socksd-inet_pton.o CC socksd-socksd.o CC ../../lib/mqttd-memdebug.o CC ../../lib/curlx/mqttd-base64.o CC ../../lib/curlx/mqttd-multibyte.o CC ../../lib/curlx/mqttd-nonblock.o CC ../../lib/curlx/mqttd-strparse.o CC ../../lib/curlx/mqttd-timediff.o CC ../../lib/curlx/mqttd-timeval.o CC ../../lib/curlx/mqttd-version_win32.o CC ../../lib/curlx/mqttd-warnless.o CC ../../lib/curlx/mqttd-winapi.o CC mqttd-getpart.o CC mqttd-util.o CC mqttd-mqttd.o CC ../../lib/dnsd-memdebug.o CC ../../lib/curlx/dnsd-base64.o CC ../../lib/curlx/dnsd-multibyte.o CC ../../lib/curlx/dnsd-nonblock.o CC ../../lib/curlx/dnsd-strparse.o CC ../../lib/curlx/dnsd-timediff.o CC ../../lib/curlx/dnsd-timeval.o CC ../../lib/curlx/dnsd-version_win32.o CC ../../lib/curlx/dnsd-warnless.o CC ../../lib/curlx/dnsd-winapi.o CC dnsd-getpart.o CC dnsd-util.o CC dnsd-dnsd.o RUN checksrc CC ../../lib/resolve-memdebug.o CC ../../lib/rtspd-memdebug.o CCLD sockfilt CCLD tftpd CCLD socksd CCLD sws CCLD resolve CCLD rtspd CCLD mqttd CCLD dnsd 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 ../../lib/curlx/timediff.o CC first.o CC libntlmconnect.o CC testutil.o CC libprereq.o CC ../../lib/curlx/warnless.o CC lib500.o CC testtrace.o CC ../../lib/curlx/multibyte.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 lib517.o CC lib516.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/curlx/lib526-timediff.o CC lib526-first.o CC lib526-testutil.o CC ../../lib/curlx/lib526-warnless.o CC lib527-lib526.o CC ../../lib/curlx/lib527-timediff.o CC lib527-first.o CC lib527-testutil.o CC ../../lib/curlx/lib527-warnless.o CC lib529-lib525.o CC ../../lib/curlx/lib529-timediff.o CC lib529-first.o CC lib529-testutil.o CC ../../lib/curlx/lib529-warnless.o CC ../../lib/curlx/lib529-multibyte.o CC lib530.o CC lib532-lib526.o CC ../../lib/curlx/lib532-timediff.o CC lib532-first.o CC ../../lib/curlx/lib532-warnless.o CC lib532-testutil.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/curlx/lib545-timediff.o CC lib545-first.o CC lib547.o CC lib548-lib547.o CC ../../lib/curlx/lib548-timediff.o CC lib548-first.o CC lib549.o CC lib552.o CC lib553.o CC lib554.o CC lib555.o CC lib556.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/curlx/lib565-timediff.o CC lib565-first.o CC lib566.o CC lib567.o CC lib568.o CC lib569.o CC lib570.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/curlx/lib584-timediff.o CC lib584-first.o CC lib585-lib500.o CC ../../lib/curlx/lib585-timediff.o CC lib585-first.o CC lib585-testutil.o CC lib585-testtrace.o CC ../../lib/curlx/lib585-multibyte.o CC lib586.o CC lib587-lib554.o CC ../../lib/curlx/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/curlx/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/curlx/lib670-timediff.o CC lib670-first.o CC lib670-testutil.o CC ../../lib/curlx/lib670-warnless.o CC lib671-lib670.o CC ../../lib/curlx/lib671-timediff.o CC lib671-first.o CC lib671-testutil.o CC ../../lib/curlx/lib671-warnless.o CC lib672-lib670.o CC ../../lib/curlx/lib672-timediff.o CC lib672-first.o CC lib672-testutil.o CC ../../lib/curlx/lib672-warnless.o CC lib670.o CC lib674.o CC lib676.o CC lib677.o CC lib678.o CC lib694.o CC lib695.o CC lib696-lib556.o CC ../../lib/curlx/lib696-timediff.o CC lib696-first.o CC ../../lib/curlx/lib696-warnless.o CC lib751.o CC lib1156.o CC lib1301.o CC lib1308.o CC lib1485.o CC lib1500.o CC lib1501.o CC lib1502-lib1502.o CC ../../lib/curlx/lib1502-timediff.o CC lib1502-first.o CC lib1502-testutil.o CC ../../lib/curlx/lib1502-warnless.o CC lib1503-lib1502.o CC ../../lib/curlx/lib1503-timediff.o CC lib1503-first.o CC lib1503-testutil.o CC ../../lib/curlx/lib1503-warnless.o CC lib1504-lib1502.o CC ../../lib/curlx/lib1504-timediff.o CC lib1504-first.o CC lib1504-testutil.o CC ../../lib/curlx/lib1504-warnless.o CC lib1505-lib1502.o CC ../../lib/curlx/lib1505-timediff.o CC lib1505-first.o CC lib1505-testutil.o CC ../../lib/curlx/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 /usr/bin/perl /startdir/src/curl/tests/libtest/mk-lib1521.pl < /startdir/src/curl/include/curl/curl.h lib1521.c CC lib1520.o CC ../../lib/curlx/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/curlx/lib1539-timediff.o CC lib1539-first.o CC lib1539-testutil.o CC ../../lib/curlx/lib1539-warnless.o CC lib1540.o CC lib1541.o CC lib1542.o CC lib1543-lib1518.o CC ../../lib/curlx/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 lib1571-lib1571.o CC ../../lib/curlx/lib1571-timediff.o CC lib1571-first.o CC lib1576.o CC lib1578-lib1576.o CC ../../lib/curlx/lib1578-timediff.o CC lib1578-first.o CC lib1591.o CC lib1592.o CC lib1593.o CC lib1594.o CC lib1596-lib1594.o CC ../../lib/curlx/lib1596-timediff.o CC lib1596-first.o CC lib1596-testutil.o CC ../../lib/curlx/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/curlx/lib1917-timediff.o CC lib1917-first.o CC ../../lib/curlx/lib1917-warnless.o CC lib1918.o CC lib1919.o CC lib1933.o CC lib1934.o CC lib1935.o CC lib1937.o CC lib1936.o CC lib1938.o CC lib1939.o CC lib1940.o CC lib1945.o CC lib1946-lib1940.o CC ../../lib/curlx/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 lib1977.o CC lib1978.o CC lib2301.o CC lib2302.o CC lib2304.o CC lib2306.o CC lib2308.o CC lib2309.o CC lib2402.o CC lib2404.o CC lib2405.o CC lib2502.o CC lib2700.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 lib3104.o CC lib3105.o CC lib3207.o CC ../../lib/curl_threads.o CC memptr.o CC lib3208.o CC libstubgss_la-stub_gssapi.lo RUN checksrc CCLD libauthretry CCLD libntlmconnect CCLD libprereq CCLD lib500 CCLD lib501 CCLD lib502 CCLD lib503 CCLD lib504 CCLD lib505 CCLD lib506 CCLD lib508 CCLD lib507 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 lib694 CCLD lib695 CCLD lib696 CCLD lib751 CCLD lib1156 CCLD lib1301 CCLD lib1308 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 CC lib1521-lib1521.o CCLD lib1520 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 lib1571 CCLD lib1576 CCLD lib1578 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 lib1912 CCLD lib1911 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 lib1977 CCLD lib1975 CCLD lib1978 CCLD lib2301 CCLD lib2302 CCLD lib2304 CCLD lib2306 CCLD lib2308 CCLD lib2309 CCLD lib2402 CCLD lib2404 CCLD lib2405 CCLD lib2502 CCLD lib2700 CCLD lib3010 CCLD lib3025 CCLD lib3026 CCLD lib3027 CCLD lib3100 CCLD lib3101 CCLD lib3102 CCLD lib3103 CCLD lib3104 CCLD lib3105 CCLD libstubgss.la CCLD lib3207 CCLD lib3208 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' RUN checksrc CC h2-pausing.o CC h2-serverpush.o CC hx-download.o CC h2-upgrade-extreme.o CC hx-upload.o CC tls-session-reuse.o CC upload-pausing.o CC ws-pingpong.o CC ws-data.o CCLD h2-serverpush CCLD ws-pingpong CCLD h2-upgrade-extreme CCLD ws-data CCLD tls-session-reuse CCLD h2-pausing CCLD upload-pausing CCLD hx-download CCLD hx-upload 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' Making all in unit make[2]: Entering directory '/startdir/src/build-curl/tests/unit' CC unit1300.o CC unit1302.o CC unit1303.o CC unit1304.o CC unit1305.o CC unit1309.o CC unit1307.o CC unit1323.o CC unit1330.o CC unit1396.o CC unit1395.o CC unit1397.o CC unit1398.o CC unit1399.o CC unit1600.o CC unit1601.o CC unit1602.o CC unit1603.o CC unit1605.o CC unit1606.o CC unit1607.o CC unit1608.o CC unit1609.o CC unit1610.o CC unit1611.o CC unit1612.o CC unit1614.o CC unit1615.o CC unit1616.o CC unit1620.o CC unit1650.o CC unit1651.o CC unit1652.o CC unit1653.o CC unit1654.o CC unit1655.o CC unit1656.o CC unit1657.o CC unit1658.o CC unit1660.o CC unit1661.o CC unit1663.o CC unit1664.o CC unit1979.o CC unit1980.o CC unit2600.o CC unit2601.o CC unit2602.o CC unit2603.o CC unit2604.o CC unit3200.o CC unit3205.o CC unit3211.o CC unit3212.o CC unit3213.o RUN checksrc CC ../libtest/first.o CCLD unit1300 CCLD unit1302 CCLD unit1303 CCLD unit1304 CCLD unit1305 CCLD unit1307 CCLD unit1309 CCLD unit1323 CCLD unit1330 CCLD unit1395 CCLD unit1396 CCLD unit1397 CCLD unit1398 CCLD unit1399 CCLD unit1600 CCLD unit1602 CCLD unit1601 CCLD unit1603 CCLD unit1605 CCLD unit1606 CCLD unit1607 CCLD unit1608 CCLD unit1609 CCLD unit1610 CCLD unit1611 CCLD unit1612 CCLD unit1614 CCLD unit1615 CCLD unit1616 CCLD unit1620 CCLD unit1650 CCLD unit1651 CCLD unit1652 CCLD unit1653 CCLD unit1654 CCLD unit1655 CCLD unit1656 CCLD unit1657 CCLD unit1658 CCLD unit1660 CCLD unit1661 CCLD unit1663 CCLD unit1664 CCLD unit1979 CCLD unit1980 CCLD unit2600 CCLD unit2601 CCLD unit2602 CCLD unit2603 CCLD unit2604 CCLD unit3200 CCLD unit3205 CCLD unit3211 CCLD unit3212 CCLD unit3213 make[2]: Leaving directory '/startdir/src/build-curl/tests/unit' Making all in tunit make[2]: Entering directory '/startdir/src/build-curl/tests/tunit' CC tool1394.o CC tool1604.o CC tool1621.o RUN checksrc CCLD tool1604 CCLD tool1394 CCLD tool1621 make[2]: Leaving directory '/startdir/src/build-curl/tests/tunit' make[2]: Entering directory '/startdir/src/build-curl/tests' (cd certs && make) make[3]: Entering directory '/startdir/src/build-curl/tests/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/startdir/src/build-curl/tests/certs' 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 -j24 !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.14.1 (x86_64-pc-linux-gnu) * libcurl/8.14.1 OpenSSL/3.5.0 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.65.0 nghttp3/1.10.1 * 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: win32-ca-searchpath, win32-ca-search-safe, override-dns * Host: * System: Linux arch-nspawn-472288 6.12.31-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 29 May 2025 09:39:59 +0000 x86_64 GNU/Linux * OS: linux * Perl: v5.40.2 (/usr/bin/perl) * diff: available * Args: -a -p ~flaky ~timing-dependent -v -a -k -p -j24 !433 * Jobs: 24 * Env: Valgrind * Seed: 230850 * 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-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 UNIX GCC * buildinfo.compiler: GNU_C * buildinfo.compiler.version: 15.1.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 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 1330 SKIPPED: curl lacks TrackMemory support test 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support Warning: test1510 result is ignored due to flaky test 1560 SKIPPED: curl lacks ldap support Warning: test1592 result is ignored due to flaky Warning: test1592 result is ignored due to timing-dependent Warning: test1631 result is ignored due to flaky Warning: test1632 result is ignored due to flaky 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 2102 SKIPPED: curl lacks override-dns support test 2500 SKIPPED: curl lacks nghttpx-h3 support test 2503 SKIPPED: curl lacks nghttpx-h3 support test 4000 SKIPPED: curl lacks ECH support test 4001 SKIPPED: curl lacks ECH support Runner 104793 starting Runner 104790 starting Runner 104791 starting Runner 104787 starting Runner 104788 starting Runner 104792 starting Runner 104789 starting Runner 104794 starting Runner 104786 starting Runner 104780 starting Runner 104781 starting Runner 104777 starting Runner 104783 starting Runner 104785 starting Runner 104784 starting Runner 104782 starting Runner 104774 starting Runner 104778 starting Runner 104779 starting Runner 104773 starting Runner 104772 starting Runner 104771 starting Runner 104775 starting Runner 104776 starting CMD (33792): ../libtool --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/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/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/6/valgrind25 ../src/curl -q --output log/6/curl25.out --include --trace-ascii log/6/trace25 --trace-config all --trace-time http://127.0.0.1:39619/want/25 -L --max-redirs 5 > log/6/stdout25 2> log/6/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/6/valgrind26 ../src/curl -q --output log/6/curl26.out --include --trace-ascii log/6/trace26 --trace-config all --trace-time http://127.0.0.1:39619/want/26 -o - -o - > log/6/stdout26 2> log/6/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/6/valgrind27 ../src/curl -q --output log/6/curl27.out --include --trace-ascii log/6/trace27 --trace-config all --trace-time "http://127.0.0.1:39619/want/{27,27,27}" -b none > log/6/stdout27 2> log/6/stderr27 * 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/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 curl returned 132, when expecting 7 19: exit FAILED == Contents of files in the log/6/ dir after test 19 === Start of file commands.log ../libtool --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/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 === End of file commands.log === Start of file server.cmd Testnum 19 === End of file server.cmd === Start of file valgrind19 ==104820== ==104820== Process terminating with default action of signal 4 (SIGILL) ==104820== Illegal opcode at address 0x4003082 ==104820== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104820== by 0x4003082: main (tool_main.c:243) === End of file valgrind19 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: HTTP server is on PID 106056 port 39619 * pid http => 106056 106056 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/6/valgrind25 ../src/curl -q --output log/6/curl25.out --include --trace-ascii log/6/trace25 --trace-config all --trace-time http://127.0.0.1:39619/want/25 -L --max-redirs 5 > log/6/stdout25 2> log/6/stderr25 25: 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 25 === Start of file commands.log ../libtool --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/valgrind25 ../src/curl -q --output log/6/curl25.out --include --trace-ascii log/6/trace25 --trace-config all --trace-time http://127.0.0.1:39619/want/25 -L --max-redirs 5 > log/6/stdout25 2> log/6/stderr25 === End of file commands.log === Start of file http_server.log 20:54:25.308533 Running HTTP IPv4 version on port 39619 20:54:25.308577 Wrote pid 106056 to log/6/server/http_server.pid 20:54:25.308596 Wrote port 39619 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 25 === End of file server.cmd === Start of file valgrind25 ==106058== ==106058== Process terminating with default action of signal 4 (SIGILL) ==106058== Illegal opcode at address 0x4003082 ==106058== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106058== by 0x4003082: main (tool_main.c:243) === End of file valgrind25 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/6/valgrind26 ../src/curl -q --output log/6/curl26.out --include --trace-ascii log/6/trace26 --trace-config all --trace-time http://127.0.0.1:39619/want/26 -o - -o - > log/6/stdout26 2> log/6/stderr26 26: 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 26 === Start of file commands.log ../libtool --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/valgrind26 ../src/curl -q --output log/6/curl26.out --include --trace-ascii log/6/trace26 --trace-config all --trace-time http://127.0.0.1:39619/want/26 -o - -o - > log/6/stdout26 2> log/6/stderr26 === End of file commands.log === Start of file http_server.log 20:54:26.683815 ====> Client connect 20:54:26.683836 accept_connection 3 returned 4 20:54:26.683848 accept_connection 3 returned 0 20:54:26.683857 Read 93 bytes 20:54:26.683867 Process 93 bytes request 20:54:26.683879 Got request: GET /verifiedserver HTTP/1.1 20:54:26.683885 Are-we-friendly question received 20:54:26.683900 Wrote request (93 bytes) input to log/6/server.input 20:54:26.683912 Identifying ourselves as friends 20:54:26.683948 Response sent (57 bytes) and written to log/6/server.response 20:54:26.683955 special request received, no persistency 20:54:26.683961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39619... * Connected to 127.0.0.1 (127.0.0.1) port 39619 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39619 > User-Agent: curl/8.14.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: 106056 === 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: 18 WE ROOLZ: 106056 === End of file server.response === Start of file valgrind26 ==106123== ==106123== Process terminating with default action of signal 4 (SIGILL) ==106123== Illegal opcode at address 0x4003082 ==106123== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106123== by 0x4003082: main (tool_main.c:243) === 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/6/valgrind27 ../src/curl -q --output log/6/curl27.out --include --trace-ascii log/6/trace27 --trace-config all --trace-time "http://127.0.0.1:39619/want/{27,27,27}" -b none > log/6/stdout27 2> log/6/stderr27 27: 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 27 === Start of file commands.log ../libtool --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/valgrind27 ../src/curl -q --output log/6/curl27.out --include --trace-ascii log/6/trace27 --trace-config all --trace-time "http://127.0.0.1:39619/want/{27,27,27}" -b none > log/6/stdout27 2> log/6/stderr27 === End of file commands.log === Start of file http_server.log 20:54:27.062471 ====> Client connect 20:54:27.062493 accept_connection 3 returned 4 20:54:27.062504 accept_connection 3 returned 0 20:54:27.062513 Read 93 bytes 20:54:27.062520 Process 93 bytes request 20:54:27.062529 Got request: GET /verifiedserver HTTP/1.1 20:54:27.062535 Are-we-friendly question received 20:54:27.062549 Wrote request (93 bytes) input to log/6/server.input 20:54:27.062559 Identifying ourselves as friends 20:54:27.062592 Response sent (57 bytes) and written to log/6/server.response 20:54:27.062598 special request received, no persistency 20:54:27.062604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39619... * Connected to 127.0.0.1 (127.0.0.1) port 39619 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39619 > User-Agent: curl/8.14.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK log/6/stdout28 2> log/6/stderr28 CMD (33792): ../libtool --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/valgrind29 ../src/curl -q --output log/6/curl29.out --include --trace-ascii log/6/trace29 --trace-config all --trace-time http://127.0.0.1:39619/want/29 -m 2 > log/6/stdout29 2> log/6/stderr29 RUN: Process with pid 106056 signalled to die RUN: Process with pid 106056 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/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:44265/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 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: 106056 === 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: 18 WE ROOLZ: 106056 === End of file server.response === Start of file valgrind27 ==106187== ==106187== Process terminating with default action of signal 4 (SIGILL) ==106187== Illegal opcode at address 0x4003082 ==106187== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106187== by 0x4003082: main (tool_main.c:243) === End of file valgrind27 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/6/valgrind28 ../src/curl -q --output log/6/curl28.out --include --trace-ascii log/6/trace28 --trace-config all --trace-time http://127.0.0.1:39619/want/28 -L > log/6/stdout28 2> log/6/stderr28 28: 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 28 === Start of file commands.log ../libtool --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/valgrind28 ../src/curl -q --output log/6/curl28.out --include --trace-ascii log/6/trace28 --trace-config all --trace-time http://127.0.0.1:39619/want/28 -L > log/6/stdout28 2> log/6/stderr28 === End of file commands.log === Start of file http_server.log 20:54:27.428262 ====> Client connect 20:54:27.428283 accept_connection 3 returned 4 20:54:27.428295 accept_connection 3 returned 0 20:54:27.428304 Read 93 bytes 20:54:27.428310 Process 93 bytes request 20:54:27.428320 Got request: GET /verifiedserver HTTP/1.1 20:54:27.428326 Are-we-friendly question received 20:54:27.428341 Wrote request (93 bytes) input to log/6/server.input 20:54:27.428351 Identifying ourselves as friends 20:54:27.428383 Response sent (57 bytes) and written to log/6/server.response 20:54:27.428390 special request received, no persistency 20:54:27.428396 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39619... * Connected to 127.0.0.1 (127.0.0.1) port 39619 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39619 > User-Agent: curl/8.14.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: 106056 === 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: 18 WE ROOLZ: 106056 === End of file server.response === Start of file valgrind28 ==106252== ==106252== Process terminating with default action of signal 4 (SIGILL) ==106252== Illegal opcode at address 0x4003082 ==106252== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106252== by 0x4003082: main (tool_main.c:243) === 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/6/valgrind29 ../src/curl -q --output log/6/curl29.out --include --trace-ascii log/6/trace29 --trace-config all --trace-time http://127.0.0.1:39619/want/29 -m 2 > log/6/stdout29 2> log/6/stderr29 29: 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 29 === Start of file commands.log ../libtool --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/valgrind29 ../src/curl -q --output log/6/curl29.out --include --trace-ascii log/6/trace29 --trace-config all --trace-time http://127.0.0.1:39619/want/29 -m 2 > log/6/stdout29 2> log/6/stderr29 === End of file commands.log === Start of file http_server.log 20:54:27.822923 ====> Client connect 20:54:27.822944 accept_connection 3 returned 4 20:54:27.822957 accept_connection 3 returned 0 20:54:27.822966 Read 93 bytes 20:54:27.822972 Process 93 bytes request 20:54:27.822982 Got request: GET /verifiedserver HTTP/1.1 20:54:27.822988 Are-we-friendly question received 20:54:27.823003 Wrote request (93 bytes) input to log/6/server.input 20:54:27.823013 Identifying ourselves as friends 20:54:27.823046 Response sent (57 bytes) and written to log/6/server.response 20:54:27.823052 special request received, no persistency 20:54:27.823058 ====> Client disconnect 0 exit_signal_handler: called 20:54:28.186772 signalled to die 20:54:28.186873 ========> IPv4 sws (port 39619 pid: 106056) exits with signal (15) 20:54:28.186888 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39619... * Connected to 127.0.0.1 (127.0.0.1) port 39619 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39619 > User-Agent: curl/8.14.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: 106056 === 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: 18 WE ROOLZ: 106056 === End of file server.response === Start of file valgrind29 ==106316== ==106316== Process terminating with default action of signal 4 (SIGILL) ==106316== Illegal opcode at address 0x4003082 ==106316== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106316== by 0x4003082: main (tool_main.c:243) === End of file valgrind29 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: HTTP server is on PID 104805 port 44265 * pid http => 104805 104805 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:44265/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 commands.log ../libtool --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:44265/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 20:54:21.981609 Running HTTP IPv4 version on port 44265 20:54:21.981688 Wrote pid 104805 to log/11/server/http_server.pid 20:54:21.981885 Wrote port 44265 to log/11/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 14 === End of file server.cmd === Start of file valgrind14 ==104925== ==104925== Process terminating with default action of siCMD (33792): ../libtool --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/valgrind31 ../src/curl -q --output log/11/curl31.out --include --trace-ascii log/11/trace31 --trace-config all --trace-time http://test31.curl:44265/we/want/31 -b none -c log/11/jar31.txt --resolve test31.curl:44265:127.0.0.1 > log/11/stdout31 2> log/11/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/11/valgrind32 ../src/curl -q --output log/11/curl32.out --include --trace-ascii log/11/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:44265/32 -G > log/11/stdout32 2> log/11/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/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:33337/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 CMD (33792): ../libtool --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/valgrind30 ../src/curl -q --output log/6/curl30.out --include --trace-ascii log/6/trace30 --trace-config all --trace-time http://127.0.0.1:38475/want/30 > log/6/stdout30 2> log/6/stderr30 gnal 4 (SIGILL) ==104925== Illegal opcode at address 0x4003082 ==104925== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104925== by 0x4003082: main (tool_main.c:243) === End of file valgrind14 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/11/valgrind31 ../src/curl -q --output log/11/curl31.out --include --trace-ascii log/11/trace31 --trace-config all --trace-time http://test31.curl:44265/we/want/31 -b none -c log/11/jar31.txt --resolve test31.curl:44265:127.0.0.1 > log/11/stdout31 2> log/11/stderr31 31: 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 31 === Start of file commands.log ../libtool --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/valgrind31 ../src/curl -q --output log/11/curl31.out --include --trace-ascii log/11/trace31 --trace-config all --trace-time http://test31.curl:44265/we/want/31 -b none -c log/11/jar31.txt --resolve test31.curl:44265:127.0.0.1 > log/11/stdout31 2> log/11/stderr31 === End of file commands.log === Start of file http_server.log 20:54:28.513175 ====> Client connect 20:54:28.513198 accept_connection 3 returned 4 20:54:28.513209 accept_connection 3 returned 0 20:54:28.513218 Read 93 bytes 20:54:28.513225 Process 93 bytes request 20:54:28.513236 Got request: GET /verifiedserver HTTP/1.1 20:54:28.513242 Are-we-friendly question received 20:54:28.513258 Wrote request (93 bytes) input to log/11/server.input 20:54:28.513277 Identifying ourselves as friends 20:54:28.513338 Response sent (57 bytes) and written to log/11/server.response 20:54:28.513348 special request received, no persistency 20:54:28.513356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind31 ==106382== ==106382== Process terminating with default action of signal 4 (SIGILL) ==106382== Illegal opcode at address 0x4003082 ==106382== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106382== by 0x4003082: main (tool_main.c:243) === End of file valgrind31 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/11/valgrind32 ../src/curl -q --output log/11/curl32.out --include --trace-ascii log/11/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:44265/32 -G > log/11/stdout32 2> log/11/stderr32 32: 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 32 === Start of file commands.log ../libtool --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/valgrind32 ../src/curl -q --output log/11/curl32.out --include --trace-ascii log/11/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:44265/32 -G > log/11/stdout32 2> log/11/stderr32 === End of file commands.log === Start of file http_server.log 20:54:28.915707 ====> Client connect 20:54:28.915726 accept_connection 3 returned 4 20:54:28.915737 accept_connection 3 returned 0 20:54:28.915746 Read 93 bytes 20:54:28.915753 Process 93 bytes request 20:54:28.915761 Got request: GET /verifiedserver HTTP/1.1 20:54:28.915767 Are-we-friendly question received 20:54:28.915782 Wrote request (93 bytes) input to log/11/server.input 20:54:28.915792 Identifying ourselves as friends 20:54:28.915825 Response sent (57 bytes) and written to log/11/server.response 20:54:28.915831 special request received, no persistency 20:54:28.915837 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind32 ==106449== ==106449== Process terminating with default action of signal 4 (SIGILL) ==106449== Illegal opcode at address 0x4003082 ==106449== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106449== by 0x4003082: main (tool_main.c:243) === End of file valgrind32 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: HTTP server is on PID 104811 port 33337 * pid http => 104811 104811 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:33337/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 commands.log ../libtool --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:33337/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 20:54:21.987991 Running HTTP IPv4 version on port 33337 20:54:21.988032 Wrote pid 104811 to log/12/server/http_server.pid 20:54:21.988052 Wrote port 33337 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 13 === End of file server.cmd === Start of file valgrind13 ==104961== ==104961== Process terminating with default action of signal 4 (SIGILL) ==104961== Illegal opcode at address 0x4003082 ==104961== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104961== by 0x4003082: main (tool_main.c:243) === 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/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config 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/11/valgrind33 ../src/curl -q --output log/11/curl33.out --include --trace-ascii log/11/trace33 --trace-config all --trace-time http://127.0.0.1:44265/33 -Tlog/11/test33.txt -C 50 > log/11/stdout33 2> log/11/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/valgrind34 ../src/curl -q --output log/12/curl34.out --include --trace-ascii log/12/trace34 --trace-config all --trace-time http://127.0.0.1:33337/34 > log/12/stdout34 2> log/12/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/6/valgrind35 ../src/curl -q --output log/6/curl35.out --include --trace-ascii log/6/trace35 --trace-config all --trace-time http://127.0.0.1:38475/we/want/35 --data-binary @log/6/test35.txt > log/6/stdout35 2> log/6/stderr35 erver.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 106365 port 38475 * pid http => 106365 106365 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/6/valgrind30 ../src/curl -q --output log/6/curl30.out --include --trace-ascii log/6/trace30 --trace-config all --trace-time http://127.0.0.1:38475/want/30 > log/6/stdout30 2> log/6/stderr30 30: 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 30 === Start of file commands.log ../libtool --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/valgrind30 ../src/curl -q --output log/6/curl30.out --include --trace-ascii log/6/trace30 --trace-config all --trace-time http://127.0.0.1:38475/want/30 > log/6/stdout30 2> log/6/stderr30 === End of file commands.log === Start of file http_server.log 20:54:28.302549 Running HTTP IPv4 version on port 38475 20:54:28.302595 Wrote pid 106365 to log/6/server/http_server.pid 20:54:28.302615 Wrote port 38475 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 30 === End of file server.cmd === Start of file valgrind30 ==106499== ==106499== Process terminating with default action of signal 4 (SIGILL) ==106499== Illegal opcode at address 0x4003082 ==106499== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106499== by 0x4003082: main (tool_main.c:243) === 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/11/valgrind33 ../src/curl -q --output log/11/curl33.out --include --trace-ascii log/11/trace33 --trace-config all --trace-time http://127.0.0.1:44265/33 -Tlog/11/test33.txt -C 50 > log/11/stdout33 2> log/11/stderr33 33: 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 33 === Start of file commands.log ../libtool --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/valgrind33 ../src/curl -q --output log/11/curl33.out --include --trace-ascii log/11/trace33 --trace-config all --trace-time http://127.0.0.1:44265/33 -Tlog/11/test33.txt -C 50 > log/11/stdout33 2> log/11/stderr33 === End of file commands.log === Start of file http_server.log 20:54:29.320335 ====> Client connect 20:54:29.320356 accept_connection 3 returned 4 20:54:29.320367 accept_connection 3 returned 0 20:54:29.320376 Read 93 bytes 20:54:29.320383 Process 93 bytes request 20:54:29.320392 Got request: GET /verifiedserver HTTP/1.1 20:54:29.320399 Are-we-friendly question received 20:54:29.320414 Wrote request (93 bytes) input to log/11/server.input 20:54:29.320426 Identifying ourselves as friends 20:54:29.320460 Response sent (57 bytes) and written to log/11/server.response 20:54:29.320466 special request received, no persistency 20:54:29.320472 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === 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 ==106561== ==106561== Process terminating with default action of signal 4 (SIGILL) ==106561== Illegal opcode at address 0x4003082 ==106561== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106561== by 0x4003082: main (tool_main.c:243) === End of file valgrind33 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/12/valgrind34 ../src/curl -q --output log/12/curl34.out --include --trace-ascii log/12/trace34 --trace-config all --trace-time http://127.0.0.1:33337/34 > log/12/stdout34 2> log/12/stderr34 34: 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 34 === Start of file commands.log ../libtool --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/valgrind34 ../src/curl -q --output log/12/curl34.out --include --trace-ascii log/12/trace34 --trace-config all --trace-time http://127.0.0.1:33337/34 > log/12/stdout34 2> log/12/stderr34 === End of file commands.log === Start of file http_server.log 20:54:29.510969 ====> Client connect 20:54:29.510991 accept_connection 3 returned 4 20:54:29.511002 accept_connection 3 returned 0 20:54:29.511011 Read 93 bytes 20:54:29.511017 Process 93 bytes request 20:54:29.511026 Got request: GET /verifiedserver HTTP/1.1 20:54:29.511032 Are-we-friendly question received 20:54:29.511046 Wrote request (93 bytes) input to log/12/server.input 20:54:29.511059 Identifying ourselves as friends 20:54:29.511095 Response sent (57 bytes) and written to log/12/server.response 20:54:29.511102 special request received, no persistency 20:54:29.511107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind34 ==106628== ==106628== Process terminating with default action of signal 4 (SIGILL) ==106628== Illegal opcode at address 0x4003082 ==106628== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106628== by 0x4003082: main (tool_main.c:243) === 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/6/valgrind35 ../src/curl -q --output log/6/curl35.out --include --trace-ascii log/6/trace35 --trace-config all --trace-time http://127.0.0.1:38475/we/want/35 --data-binary @log/6/test35.txt > log/6/stdout35 2> log/6/stderr35 35: 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 35 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/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/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:44265/36 > log/11/stdout36 2> log/11/stderr36 CMD (33792): ../libtool --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/valgrind37 ../src/curl -q --output log/12/curl37.out --include --trace-ascii log/12/trace37 --trace-config all --trace-time http://127.0.0.1:33337/37 > log/12/stdout37 2> log/12/stderr37 CMD (33792): ../libtool --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/valgrind38 ../src/curl -q --include --trace-ascii log/6/trace38 --trace-config all --trace-time http://127.0.0.1:38475/want/38 -C - --no-include -o log/6/fewl38.txt > log/6/stdout38 2> log/6/stderr38 c/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind35 ../src/curl -q --output log/6/curl35.out --include --trace-ascii log/6/trace35 --trace-config all --trace-time http://127.0.0.1:38475/we/want/35 --data-binary @log/6/test35.txt > log/6/stdout35 2> log/6/stderr35 === End of file commands.log === Start of file http_server.log 20:54:29.682515 ====> Client connect 20:54:29.682541 accept_connection 3 returned 4 20:54:29.682552 accept_connection 3 returned 0 20:54:29.682562 Read 93 bytes 20:54:29.682569 Process 93 bytes request 20:54:29.682580 Got request: GET /verifiedserver HTTP/1.1 20:54:29.682587 Are-we-friendly question received 20:54:29.682602 Wrote request (93 bytes) input to log/6/server.input 20:54:29.682615 Identifying ourselves as friends 20:54:29.682664 Response sent (57 bytes) and written to log/6/server.response 20:54:29.682671 special request received, no persistency 20:54:29.682676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === 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 ==106707== ==106707== Process terminating with default action of signal 4 (SIGILL) ==106707== Illegal opcode at address 0x4003082 ==106707== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106707== by 0x4003082: main (tool_main.c:243) === End of file valgrind35 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:44265/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 commands.log ../libtool --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:44265/36 > log/11/stdout36 2> log/11/stderr36 === End of file commands.log === Start of file http_server.log 20:54:29.688191 ====> Client connect 20:54:29.688213 accept_connection 3 returned 4 20:54:29.688225 accept_connection 3 returned 0 20:54:29.688235 Read 93 bytes 20:54:29.688242 Process 93 bytes request 20:54:29.688249 Got request: GET /verifiedserver HTTP/1.1 20:54:29.688255 Are-we-friendly question received 20:54:29.688270 Wrote request (93 bytes) input to log/11/server.input 20:54:29.688280 Identifying ourselves as friends 20:54:29.688316 Response sent (57 bytes) and written to log/11/server.response 20:54:29.688323 special request received, no persistency 20:54:29.688328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind36 ==106719== ==106719== Process terminating with default action of signal 4 (SIGILL) ==106719== Illegal opcode at address 0x4003082 ==106719== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106719== by 0x4003082: main (tool_main.c:243) === End of file valgrind36 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/12/valgrind37 ../src/curl -q --output log/12/curl37.out --include --trace-ascii log/12/trace37 --trace-config all --trace-time http://127.0.0.1:33337/37 > log/12/stdout37 2> log/12/stderr37 37: 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 37 === Start of file commands.log ../libtool --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/valgrind37 ../src/curl -q --output log/12/curl37.out --include --trace-ascii log/12/trace37 --trace-config all --trace-time http://127.0.0.1:33337/37 > log/12/stdout37 2> log/12/stderr37 === End of file commands.log === Start of file http_server.log 20:54:29.913452 ====> Client connect 20:54:29.913473 accept_connection 3 returned 4 20:54:29.913485 accept_connection 3 returned 0 20:54:29.913494 Read 93 bytes 20:54:29.913501 Process 93 bytes request 20:54:29.913510 Got request: GET /verifiedserver HTTP/1.1 20:54:29.913516 Are-we-friendly question received 20:54:29.913536 Wrote request (93 bytes) input to log/12/server.input 20:54:29.913547 Identifying ourselves as friends 20:54:29.913614 Response sent (57 bytes) and written to log/12/server.response 20:54:29.913629 special request received, no persistency 20:54:29.913639 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind37 ==106821== ==106821== Process terminating with default action of signal 4 (SIGILL) ==106821== Illegal opcode at address 0x4003082 ==106821== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106821== by 0x4003082: main (tool_main.c:243) === 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/6/valgrind38 ../src/curl -q --include --trace-ascii log/6/trace38 --trace-config all --trace-time http://127.0.0.1:38475/want/38 -C - --no-include -o log/6/fewl38.txt > log/6/stdout38 2> log/6/stderr38 38: 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 38 === Start of file commands.log ../libtool --modCMD (33792): ../libtool --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/valgrind39 ../src/curl -q --output log/11/curl39.out --include --trace-ascii log/11/trace39 --trace-config all --trace-time http://127.0.0.1:44265/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/11/stdout39 2> log/11/stderr39 CMD (33792): ../libtool --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/valgrind40 ../src/curl -q --output log/12/curl40.out --include --trace-ascii log/12/trace40 --trace-config all --trace-time http://127.0.0.1:33337/we/are/all/twits/40 -L > log/12/stdout40 2> log/12/stderr40 e=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind38 ../src/curl -q --include --trace-ascii log/6/trace38 --trace-config all --trace-time http://127.0.0.1:38475/want/38 -C - --no-include -o log/6/fewl38.txt > log/6/stdout38 2> log/6/stderr38 === End of file commands.log === 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 20:54:30.073417 ====> Client connect 20:54:30.073438 accept_connection 3 returned 4 20:54:30.073450 accept_connection 3 returned 0 20:54:30.073459 Read 93 bytes 20:54:30.073466 Process 93 bytes request 20:54:30.073475 Got request: GET /verifiedserver HTTP/1.1 20:54:30.073481 Are-we-friendly question received 20:54:30.073496 Wrote request (93 bytes) input to log/6/server.input 20:54:30.073507 Identifying ourselves as friends 20:54:30.073575 Response sent (57 bytes) and written to log/6/server.response 20:54:30.073583 special request received, no persistency 20:54:30.073589 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind38 ==106900== ==106900== Process terminating with default action of signal 4 (SIGILL) ==106900== Illegal opcode at address 0x4003082 ==106900== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106900== by 0x4003082: main (tool_main.c:243) === End of file valgrind38 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/11/valgrind39 ../src/curl -q --output log/11/curl39.out --include --trace-ascii log/11/trace39 --trace-config all --trace-time http://127.0.0.1:44265/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/11/stdout39 2> log/11/stderr39 39: 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 39 === Start of file commands.log ../libtool --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/valgrind39 ../src/curl -q --output log/11/curl39.out --include --trace-ascii log/11/trace39 --trace-config all --trace-time http://127.0.0.1:44265/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/11/stdout39 2> log/11/stderr39 === End of file commands.log === Start of file http_server.log 20:54:30.075953 ====> Client connect 20:54:30.075976 accept_connection 3 returned 4 20:54:30.075987 accept_connection 3 returned 0 20:54:30.075997 Read 93 bytes 20:54:30.076004 Process 93 bytes request 20:54:30.076012 Got request: GET /verifiedserver HTTP/1.1 20:54:30.076019 Are-we-friendly question received 20:54:30.076034 Wrote request (93 bytes) input to log/11/server.input 20:54:30.076044 Identifying ourselves as friends 20:54:30.076084 Response sent (57 bytes) and written to log/11/server.response 20:54:30.076091 special request received, no persistency 20:54:30.076097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === 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 ==106912== ==106912== Process terminating with default action of signal 4 (SIGILL) ==106912== Illegal opcode at address 0x4003082 ==106912== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==106912== by 0x4003082: main (tool_main.c:243) === End of file valgrind39 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/12/valgrind40 ../src/curl -q --output log/12/curl40.out --include --trace-ascii log/12/trace40 --trace-config all --trace-time http://127.0.0.1:33337/we/are/all/twits/40 -L > log/12/stdout40 2> log/12/stderr40 40: 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 40 === Start of file commands.log ../libtool --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/valgrind40 ../src/curl -q --output log/12/curl40.out --include --trace-ascii log/12/trace40 --trace-config all --trace-time http://127.0.0.1:33337/we/are/all/twits/40 -L > log/12/stdout40 2> log/12/stderr40 === End of file commands.log === Start of file http_server.log 20:54:30.294507 ====> Client connect 20:54:30.294526 accept_connection 3 returned 4 20:54:30.294538 accept_connection 3 returned 0 20:54:30.294547 Read 93 bytes 20:54:30.294554 Process 93 bytes request 20:54:30.294563 Got request: GET /verifiedserver HTTP/1.1 20:54:30.294569 Are-we-friendly question received 20:54:30.294584 Wrote request (93 bytes) input to log/12/server.input 20:54:30.294595 Identifying ourselves as friends 20:54:30.294631 Response sent (57 bytes) and written to log/12/server.response 20:54:30.294638 special request received, no persistency 20:54:30.294644 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === 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/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/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/valgrind41 ../src/curl -q --output log/6/curl41.out --include --trace-ascii log/6/trace41 --trace-config all --trace-time http://127.0.0.1:38475/want/41 -F moo=@boo > log/6/stdout41 2> log/6/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/11/valgrind42 ../src/curl -q --output log/11/curl42.out --include --trace-ascii log/11/trace42 --trace-config all --trace-time http://127.0.0.1:44265/we/are/all/twits/42 -L > log/11/stdout42 2> log/11/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/12/valgrind43 ../src/curl -q --output log/12/curl43.out --include --trace-ascii log/12/trace43 --trace-config all --trace-time http://127.0.0.1:33337/want/43 -L -x 127.0.0.1:33337 > log/12/stdout43 2> log/12/stderr43 == Start of file valgrind40 ==107024== ==107024== Process terminating with default action of signal 4 (SIGILL) ==107024== Illegal opcode at address 0x4003082 ==107024== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107024== by 0x4003082: main (tool_main.c:243) === End of file valgrind40 * 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/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 curl returned 132, when expecting 6 20: exit FAILED == Contents of files in the log/5/ dir after test 20 === Start of file commands.log ../libtool --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/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 === End of file commands.log === Start of file server.cmd Testnum 20 === End of file server.cmd === Start of file valgrind20 ==104819== ==104819== Process terminating with default action of signal 4 (SIGILL) ==104819== Illegal opcode at address 0x4003082 ==104819== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104819== by 0x4003082: main (tool_main.c:243) === End of file valgrind20 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/6/valgrind41 ../src/curl -q --output log/6/curl41.out --include --trace-ascii log/6/trace41 --trace-config all --trace-time http://127.0.0.1:38475/want/41 -F moo=@boo > log/6/stdout41 2> log/6/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/6/ dir after test 41 === Start of file commands.log ../libtool --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/valgrind41 ../src/curl -q --output log/6/curl41.out --include --trace-ascii log/6/trace41 --trace-config all --trace-time http://127.0.0.1:38475/want/41 -F moo=@boo > log/6/stdout41 2> log/6/stderr41 === End of file commands.log === Start of file http_server.log 20:54:30.464844 ====> Client connect 20:54:30.464864 accept_connection 3 returned 4 20:54:30.464875 accept_connection 3 returned 0 20:54:30.464884 Read 93 bytes 20:54:30.464891 Process 93 bytes request 20:54:30.464900 Got request: GET /verifiedserver HTTP/1.1 20:54:30.464906 Are-we-friendly question received 20:54:30.464922 Wrote request (93 bytes) input to log/6/server.input 20:54:30.464932 Identifying ourselves as friends 20:54:30.464968 Response sent (57 bytes) and written to log/6/server.response 20:54:30.464974 special request received, no persistency 20:54:30.464980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind41 ==107103== ==107103== Process terminating with default action of signal 4 (SIGILL) ==107103== Illegal opcode at address 0x4003082 ==107103== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107103== by 0x4003082: main (tool_main.c:243) === End of file valgrind41 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/11/valgrind42 ../src/curl -q --output log/11/curl42.out --include --trace-ascii log/11/trace42 --trace-config all --trace-time http://127.0.0.1:44265/we/are/all/twits/42 -L > log/11/stdout42 2> log/11/stderr42 42: 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 42 === Start of file commands.log ../libtool --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/valgrind42 ../src/curl -q --output log/11/curl42.out --include --trace-ascii log/11/trace42 --trace-config all --trace-time http://127.0.0.1:44265/we/are/all/twits/42 -L > log/11/stdout42 2> log/11/stderr42 === End of file commands.log === Start of file http_server.log 20:54:30.468311 ====> Client connect 20:54:30.468335 accept_connection 3 returned 4 20:54:30.468348 accept_connection 3 returned 0 20:54:30.468358 Read 93 bytes 20:54:30.468365 Process 93 bytes request 20:54:30.468373 Got request: GET /verifiedserver HTTP/1.1 20:54:30.468380 Are-we-friendly question received 20:54:30.468396 Wrote request (93 bytes) input to log/11/server.input 20:54:30.468406 Identifying ourselves as friends 20:54:30.468451 Response sent (57 bytes) and written to log/11/server.response 20:54:30.468457 special request received, no persistency 20:54:30.468464 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind42 ==107114== ==107114== Process terminating with default action of signal 4 (SIGILL) ==107114== Illegal opcode at address 0x4003082 ==107114== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107114== by 0x4003082: main (tool_main.c:243) === 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/12/valgrind43 ../src/curl -q --output log/12/curl43.out --include --trace-ascii log/12/trace43 --trace-config all --trace-time http://127.0.0.1:33337/want/43 -L -x 127.0.0.1:33337 > log/12/stdout43 2> log/12/stderr43 43: 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 43 === Start of file commands.log ../libtool --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/valgrind43 ../src/curl -q --output log/12/curl43.out --include --trace-ascii log/12/trace43 --trace-config all --trace-time http://127.0.0.1:33337/want/43 -L -x 127.0.0.1:33337 > log/12/stdout43 2> log/12/stderr43 === End of file commands.log === 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/6/valgrind45 ../src/curl -q --output log/6/curl45.out --include --trace-ascii log/6/trace45 --trace-config all --trace-time 127.0.0.1:38475/want/45 -L > log/6/stdout45 2> log/6/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/11/valgrind46 ../src/curl -q --output log/11/curl46.out --include --trace-ascii log/11/trace46 --trace-config all --trace-time domain..tld:44265/want/46 --resolve domain..tld:44265:127.0.0.1 -c log/11/jar46 -b log/11/injar46 > log/11/stdout46 2> log/11/stderr46 CMD (33792): ../libtool --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/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-config all --trace-time 127.0.0.1:33171/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 20:54:30.673831 ====> Client connect 20:54:30.673853 accept_connection 3 returned 4 20:54:30.673864 accept_connection 3 returned 0 20:54:30.673873 Read 93 bytes 20:54:30.673880 Process 93 bytes request 20:54:30.673889 Got request: GET /verifiedserver HTTP/1.1 20:54:30.673896 Are-we-friendly question received 20:54:30.673910 Wrote request (93 bytes) input to log/12/server.input 20:54:30.673920 Identifying ourselves as friends 20:54:30.673953 Response sent (57 bytes) and written to log/12/server.response 20:54:30.673960 special request received, no persistency 20:54:30.673966 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind43 ==107218== ==107218== Process terminating with default action of signal 4 (SIGILL) ==107218== Illegal opcode at address 0x4003082 ==107218== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107218== by 0x4003082: main (tool_main.c:243) === End of file valgrind43 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/6/valgrind45 ../src/curl -q --output log/6/curl45.out --include --trace-ascii log/6/trace45 --trace-config all --trace-time 127.0.0.1:38475/want/45 -L > log/6/stdout45 2> log/6/stderr45 45: 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 45 === Start of file commands.log ../libtool --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/valgrind45 ../src/curl -q --output log/6/curl45.out --include --trace-ascii log/6/trace45 --trace-config all --trace-time 127.0.0.1:38475/want/45 -L > log/6/stdout45 2> log/6/stderr45 === End of file commands.log === Start of file http_server.log 20:54:30.839420 ====> Client connect 20:54:30.839442 accept_connection 3 returned 4 20:54:30.839454 accept_connection 3 returned 0 20:54:30.839462 Read 93 bytes 20:54:30.839469 Process 93 bytes request 20:54:30.839478 Got request: GET /verifiedserver HTTP/1.1 20:54:30.839484 Are-we-friendly question received 20:54:30.839499 Wrote request (93 bytes) input to log/6/server.input 20:54:30.839509 Identifying ourselves as friends 20:54:30.839548 Response sent (57 bytes) and written to log/6/server.response 20:54:30.839554 special request received, no persistency 20:54:30.839560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind45 ==107298== ==107298== Process terminating with default action of signal 4 (SIGILL) ==107298== Illegal opcode at address 0x4003082 ==107298== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107298== by 0x4003082: main (tool_main.c:243) === End of file valgrind45 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/11/valgrind46 ../src/curl -q --output log/11/curl46.out --include --trace-ascii log/11/trace46 --trace-config all --trace-time domain..tld:44265/want/46 --resolve domain..tld:44265:127.0.0.1 -c log/11/jar46 -b log/11/injar46 > log/11/stdout46 2> log/11/stderr46 46: 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 46 === Start of file commands.log ../libtool --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/valgrind46 ../src/curl -q --output log/11/curl46.out --include --trace-ascii log/11/trace46 --trace-config all --trace-time domain..tld:44265/want/46 --resolve domain..tld:44265:127.0.0.1 -c log/11/jar46 -b log/11/injar46 > log/11/stdout46 2> log/11/stderr46 === End of file commands.log === Start of file http_server.log 20:54:30.840577 ====> Client connect 20:54:30.840605 accept_connection 3 returned 4 20:54:30.840622 accept_connection 3 returned 0 20:54:30.840635 Read 93 bytes 20:54:30.840644 Process 93 bytes request 20:54:30.840655 Got request: GET /verifiedserver HTTP/1.1 20:54:30.840664 Are-we-friendly question received 20:54:30.840685 Wrote request (93 bytes) input to log/11/server.input 20:54:30.840700 Identifying ourselves as friends 20:54:30.840742 Response sent (57 bytes) and written to log/11/server.response 20:54:30.840748 special request received, no persistency 20:54:30.840754 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind46 ==107300== ==107300== Process terminating with default action of signal 4 (SIGILL) ==107300== Illegal opcode at address 0x4003082 ==107300== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107300== by 0x4003082: main (tool_main.c:243) === End of file valgrind46 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: HTTP server is on PID 104814 port 33171 * pid http => 104814 104814 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/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-config all --trace-time 127.0.0.1:33171/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 22: 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 22 === Start of file commands.log ../libtool --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/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-config all --trace-time 127.0.0.1:33171/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind47 ../src/curl -q --output log/12/curl47.out --include --trace-ascii log/12/trace47 --trace-config all --trace-time http://127.0.0.1:33337/47 -0 > log/12/stdout47 2> log/12/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/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-config all --trace-time http://127.0.0.1:39051/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 20:54:21.983179 Running HTTP IPv4 version on port 33171 20:54:21.983229 Wrote pid 104814 to log/3/server/http_server.pid 20:54:21.983251 Wrote port 33171 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 22 === End of file server.cmd === Start of file valgrind22 ==104955== ==104955== Process terminating with default action of signal 4 (SIGILL) ==104955== Illegal opcode at address 0x4003082 ==104955== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104955== by 0x4003082: main (tool_main.c:243) === End of file valgrind22 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/12/valgrind47 ../src/curl -q --output log/12/curl47.out --include --trace-ascii log/12/trace47 --trace-config all --trace-time http://127.0.0.1:33337/47 -0 > log/12/stdout47 2> log/12/stderr47 47: 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 47 === Start of file commands.log ../libtool --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/valgrind47 ../src/curl -q --output log/12/curl47.out --include --trace-ascii log/12/trace47 --trace-config all --trace-time http://127.0.0.1:33337/47 -0 > log/12/stdout47 2> log/12/stderr47 === End of file commands.log === Start of file http_server.log 20:54:31.074450 ====> Client connect 20:54:31.074471 accept_connection 3 returned 4 20:54:31.074482 accept_connection 3 returned 0 20:54:31.074491 Read 93 bytes 20:54:31.074498 Process 93 bytes request 20:54:31.074508 Got request: GET /verifiedserver HTTP/1.1 20:54:31.074514 Are-we-friendly question received 20:54:31.074529 Wrote request (93 bytes) input to log/12/server.input 20:54:31.074539 Identifying ourselves as friends 20:54:31.074573 Response sent (57 bytes) and written to log/12/server.response 20:54:31.074579 special request received, no persistency 20:54:31.074585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind47 ==107417== ==107417== Process terminating with default action of signal 4 (SIGILL) ==107417== Illegal opcode at address 0x4003082 ==107417== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107417== by 0x4003082: main (tool_main.c:243) === End of file valgrind47 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_server.pid" --logfile "log/15/http_server.log" --logdir "log/15" --portfile log/15/server/http_server.port --config log/15/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104809 portCMD (33792): ../libtool --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/valgrind48 ../src/curl -q --output log/6/curl48.out --include --trace-ascii log/6/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:38475/48 -G -I http://127.0.0.1:38475/48 > log/6/stdout48 2> log/6/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/11/valgrind49 ../src/curl -q --output log/11/curl49.out --include --trace-ascii log/11/trace49 --trace-config all --trace-time http://127.0.0.1:44265/we/are/all/twits/49 -L > log/11/stdout49 2> log/11/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/3/valgrind50 ../src/curl -q --output log/3/curl50.out --include --trace-ascii log/3/trace50 --trace-config all --trace-time http://127.0.0.1:33171/we/are/all/twits/50 -L > log/3/stdout50 2> log/3/stderr50 39051 * pid http => 104809 104809 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/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-config all --trace-time http://127.0.0.1:39051/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 10: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 10 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-config all --trace-time http://127.0.0.1:39051/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 === End of file commands.log === Start of file http_server.log 20:54:21.982867 Running HTTP IPv4 version on port 39051 20:54:21.982930 Wrote pid 104809 to log/15/server/http_server.pid 20:54:21.982959 Wrote port 39051 to log/15/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 10 === End of file server.cmd === Start of file test10.txt Weird file to upload for testing the PUT feature === End of file test10.txt === Start of file valgrind10 ==104967== ==104967== Process terminating with default action of signal 4 (SIGILL) ==104967== Illegal opcode at address 0x4003082 ==104967== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104967== by 0x4003082: main (tool_main.c:243) === End of file valgrind10 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/6/valgrind48 ../src/curl -q --output log/6/curl48.out --include --trace-ascii log/6/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:38475/48 -G -I http://127.0.0.1:38475/48 > log/6/stdout48 2> log/6/stderr48 48: 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 48 === Start of file commands.log ../libtool --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/valgrind48 ../src/curl -q --output log/6/curl48.out --include --trace-ascii log/6/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:38475/48 -G -I http://127.0.0.1:38475/48 > log/6/stdout48 2> log/6/stderr48 === End of file commands.log === Start of file http_server.log 20:54:31.255458 ====> Client connect 20:54:31.255479 accept_connection 3 returned 4 20:54:31.255491 accept_connection 3 returned 0 20:54:31.255501 Read 93 bytes 20:54:31.255514 Process 93 bytes request 20:54:31.255525 Got request: GET /verifiedserver HTTP/1.1 20:54:31.255534 Are-we-friendly question received 20:54:31.255561 Wrote request (93 bytes) input to log/6/server.input 20:54:31.255574 Identifying ourselves as friends 20:54:31.255620 Response sent (57 bytes) and written to log/6/server.response 20:54:31.255627 special request received, no persistency 20:54:31.255633 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind48 ==107496== ==107496== Process terminating with default action of signal 4 (SIGILL) ==107496== Illegal opcode at address 0x4003082 ==107496== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107496== by 0x4003082: main (tool_main.c:243) === 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/11/valgrind49 ../src/curl -q --output log/11/curl49.out --include --trace-ascii log/11/trace49 --trace-config all --trace-time http://127.0.0.1:44265/we/are/all/twits/49 -L > log/11/stdout49 2> log/11/stderr49 49: 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 49 === Start of file commands.log ../libtool --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/valgrind49 ../src/curl -q --output log/11/curl49.out --include --trace-ascii log/11/trace49 --trace-config all --trace-time http://127.0.0.1:44265/we/are/all/twits/49 -L > log/11/stdout49 2> log/11/stderr49 === End of file commands.log === Start of file http_server.log 20:54:31.260000 ====> Client connect 20:54:31.260018 accept_connection 3 returned 4 20:54:31.260030 accept_connection 3 returned 0 20:54:31.260039 Read 93 bytes 20:54:31.260046 Process 93 bytes request 20:54:31.260055 Got request: GET /verifiedserver HTTP/1.1 20:54:31.260061 Are-we-friendly question received 20:54:31.260075 Wrote request (93 bytes) input to log/11/server.input 20:54:31.260086 Identifying ourselves as friends 20:54:31.260118 Response sent (57 bytes) and written to log/11/server.response 20:54:31.260125 special request received, no persistency 20:54:31.260130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind49 ==107509== ==107509== Process terminating with default action of signal 4 (SIGILL) ==107509== Illegal opcode at address 0x4003082 ==107509== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107509== by 0x4003082: main (tool_main.c:243) === 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/3/valgrind50 ../src/curl -q --output log/3/curl50.out --include --trace-ascii log/3/trace50 --trace-config all --trace-time http://127.0.0.1:33171/we/are/all/twits/50 -L > log/3/stdout50 2> log/3/stderr50 50: 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 50 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/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/12/valgrind51 ../src/curl -q --output log/12/curl51.out --include --trace-ascii log/12/trace51 --trace-config all --trace-time http://127.0.0.1:33337/we/are/all/twits/51 -L > log/12/stdout51 2> log/12/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/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/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:36793/4 http://127.0.0.1:36793/4 > log/21/stdout4 2> log/21/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/15/valgrind52 ../src/curl -q --output log/15/curl52.out --include --trace-ascii log/15/trace52 --trace-config all --trace-time http://127.0.0.1:39051/we/are/all/twits/52 -L > log/15/stdout52 2> log/15/stderr52 CMD (33792): ../libtool --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/valgrind53 ../src/curl -q --output log/6/curl53.out --include --trace-ascii log/6/trace53 --trace-config all --trace-time 127.0.0.1:38475/want/53 -b log/6/injar53 -j > log/6/stdout53 2> log/6/stderr53 c/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind50 ../src/curl -q --output log/3/curl50.out --include --trace-ascii log/3/trace50 --trace-config all --trace-time http://127.0.0.1:33171/we/are/all/twits/50 -L > log/3/stdout50 2> log/3/stderr50 === End of file commands.log === Start of file http_server.log 20:54:31.341843 ====> Client connect 20:54:31.341866 accept_connection 3 returned 4 20:54:31.341877 accept_connection 3 returned 0 20:54:31.341886 Read 93 bytes 20:54:31.341893 Process 93 bytes request 20:54:31.341904 Got request: GET /verifiedserver HTTP/1.1 20:54:31.341911 Are-we-friendly question received 20:54:31.341927 Wrote request (93 bytes) input to log/3/server.input 20:54:31.341939 Identifying ourselves as friends 20:54:31.341977 Response sent (57 bytes) and written to log/3/server.response 20:54:31.341983 special request received, no persistency 20:54:31.341989 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind50 ==107609== ==107609== Process terminating with default action of signal 4 (SIGILL) ==107609== Illegal opcode at address 0x4003082 ==107609== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107609== by 0x4003082: main (tool_main.c:243) === End of file valgrind50 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/12/valgrind51 ../src/curl -q --output log/12/curl51.out --include --trace-ascii log/12/trace51 --trace-config all --trace-time http://127.0.0.1:33337/we/are/all/twits/51 -L > log/12/stdout51 2> log/12/stderr51 51: 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 51 === Start of file commands.log ../libtool --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/valgrind51 ../src/curl -q --output log/12/curl51.out --include --trace-ascii log/12/trace51 --trace-config all --trace-time http://127.0.0.1:33337/we/are/all/twits/51 -L > log/12/stdout51 2> log/12/stderr51 === End of file commands.log === Start of file http_server.log 20:54:31.464491 ====> Client connect 20:54:31.464510 accept_connection 3 returned 4 20:54:31.464522 accept_connection 3 returned 0 20:54:31.464531 Read 93 bytes 20:54:31.464538 Process 93 bytes request 20:54:31.464547 Got request: GET /verifiedserver HTTP/1.1 20:54:31.464553 Are-we-friendly question received 20:54:31.464568 Wrote request (93 bytes) input to log/12/server.input 20:54:31.464582 Identifying ourselves as friends 20:54:31.464615 Response sent (57 bytes) and written to log/12/server.response 20:54:31.464622 special request received, no persistency 20:54:31.464628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind51 ==107675== ==107675== Process terminating with default action of signal 4 (SIGILL) ==107675== Illegal opcode at address 0x4003082 ==107675== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107675== by 0x4003082: main (tool_main.c:243) === End of file valgrind51 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/21/server/http_server.pid" --logfile "log/21/http_server.log" --logdir "log/21" --portfile log/21/server/http_server.port --config log/21/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104797 port 36793 * pid http => 104797 104797 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/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/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:36793/4 http://127.0.0.1:36793/4 > log/21/stdout4 2> log/21/stderr4 4: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 4 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/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:36793/4 http://127.0.0.1:36793/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 20:54:21.982533 Running HTTP IPv4 version on port 36793 20:54:21.982597 Wrote pid 104797 to log/21/server/http_server.pid 20:54:21.982633 Wrote port 36793 to log/21/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 4 === End of file server.cmd === Start of file valgrind4 ==104975== ==104975== Process terminating with default action of signal 4 (SIGILL) ==104975== Illegal opcode at address 0x4003082 ==104975== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104975== by 0x4003082: main (tool_main.c:243) === End of file valgrind4 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/6/valgrind53 ../src/curl -q --output log/6/curl53.out --include --trace-ascii log/6/trace53 --trace-config all --trace-time 127.0.0.1:38475/want/53 -b log/6/injar53 -j > log/6/stdout53 2> log/6/stderr53 53: 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 53 === Start of file commands.log ../libtool --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/valgrind53 ../src/curl -q --output log/6/curl53.out --include --trace-ascii log/6/trace53 --trace-config all --trace-time 127.0.0.1:38475/want/53 -b log/6/injar53 -j > log/6/stdout53 2> log/6/stderr53 === EnCMD (33792): ../libtool --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/valgrind54 ../src/curl -q --output log/11/curl54.out --include --trace-ascii log/11/trace54 --trace-config all --trace-time http://127.0.0.1:44265/want/54 -L > log/11/stdout54 2> log/11/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/5/valgrind44 ../src/curl -q --output log/5/curl44.out --include --trace-ascii log/5/trace44 --trace-config all --trace-time http://127.0.0.1:33725/we/want/44 -F name=daniel -F tool=curl -F file=@log/5/test44.txt -H "Expect:" > log/5/stdout44 2> log/5/stderr44 d of file commands.log === Start of file http_server.log 20:54:31.630715 ====> Client connect 20:54:31.630737 accept_connection 3 returned 4 20:54:31.630748 accept_connection 3 returned 0 20:54:31.630757 Read 93 bytes 20:54:31.630764 Process 93 bytes request 20:54:31.630771 Got request: GET /verifiedserver HTTP/1.1 20:54:31.630777 Are-we-friendly question received 20:54:31.630792 Wrote request (93 bytes) input to log/6/server.input 20:54:31.630802 Identifying ourselves as friends 20:54:31.630836 Response sent (57 bytes) and written to log/6/server.response 20:54:31.630842 special request received, no persistency 20:54:31.630848 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind53 ==107772== ==107772== Process terminating with default action of signal 4 (SIGILL) ==107772== Illegal opcode at address 0x4003082 ==107772== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107772== by 0x4003082: main (tool_main.c:243) === End of file valgrind53 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/15/valgrind52 ../src/curl -q --output log/15/curl52.out --include --trace-ascii log/15/trace52 --trace-config all --trace-time http://127.0.0.1:39051/we/are/all/twits/52 -L > log/15/stdout52 2> log/15/stderr52 52: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 52 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind52 ../src/curl -q --output log/15/curl52.out --include --trace-ascii log/15/trace52 --trace-config all --trace-time http://127.0.0.1:39051/we/are/all/twits/52 -L > log/15/stdout52 2> log/15/stderr52 === End of file commands.log === Start of file http_server.log 20:54:31.628513 ====> Client connect 20:54:31.628539 accept_connection 3 returned 4 20:54:31.628554 accept_connection 3 returned 0 20:54:31.628565 Read 93 bytes 20:54:31.628572 Process 93 bytes request 20:54:31.628584 Got request: GET /verifiedserver HTTP/1.1 20:54:31.628591 Are-we-friendly question received 20:54:31.628607 Wrote request (93 bytes) input to log/15/server.input 20:54:31.628619 Identifying ourselves as friends 20:54:31.628659 Response sent (57 bytes) and written to log/15/server.response 20:54:31.628666 special request received, no persistency 20:54:31.628672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind52 ==107771== ==107771== Process terminating with default action of signal 4 (SIGILL) ==107771== Illegal opcode at address 0x4003082 ==107771== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107771== by 0x4003082: main (tool_main.c:243) === 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/11/valgrind54 ../src/curl -q --output log/11/curl54.out --include --trace-ascii log/11/trace54 --trace-config all --trace-time http://127.0.0.1:44265/want/54 -L > log/11/stdout54 2> log/11/stderr54 54: 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 54 === Start of file commands.log ../libtool --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/valgrind54 ../src/curl -q --output log/11/curl54.out --include --trace-ascii log/11/trace54 --trace-config all --trace-time http://127.0.0.1:44265/want/54 -L > log/11/stdout54 2> log/11/stderr54 === End of file commands.log === Start of file http_server.log 20:54:31.631284 ====> Client connect 20:54:31.631309 accept_connection 3 returned 4 20:54:31.631323 accept_connection 3 returned 0 20:54:31.631333 Read 93 bytes 20:54:31.631340 Process 93 bytes request 20:54:31.631347 Got request: GET /verifiedserver HTTP/1.1 20:54:31.631353 Are-we-friendly question received 20:54:31.631368 Wrote request (93 bytes) input to log/11/server.input 20:54:31.631379 Identifying ourselves as friends 20:54:31.631415 Response sent (57 bytes) and written to log/11/server.response 20:54:31.631421 special request received, no persistency 20:54:31.631427 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind54 ==107773== ==107773== Process terminating with default action of signal 4 (SIGILL) ==107773== Illegal opcode at address 0x4003082 ==107773== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107773== by 0x4003082: main (tool_main.c:243) === End of file valgrind54 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: HTTP server is on PID 107202 port 33725 * pid http => 107202 107202 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/5/valgrind44 ../src/curl -q --output log/5/curl44.out --include --trace-ascii log/5/trace44 --trace-config all --trace-time http://127.0.0.1:33725/we/want/44 -F name=daniel -F tool=curl -F file=@log/5/test44.txt -H "ExpectCMD (33792): ../libtool --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/valgrind55 ../src/curl -q --output log/3/curl55.out --include --trace-ascii log/3/trace55 --trace-config all --trace-time http://127.0.0.1:33171/55 -L > log/3/stdout55 2> log/3/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/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:33337/that.site.com/56 log/12/stdout56 2> log/12/stderr56 :" > log/5/stdout44 2> log/5/stderr44 44: 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 44 === Start of file commands.log ../libtool --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/valgrind44 ../src/curl -q --output log/5/curl44.out --include --trace-ascii log/5/trace44 --trace-config all --trace-time http://127.0.0.1:33725/we/want/44 -F name=daniel -F tool=curl -F file=@log/5/test44.txt -H "Expect:" > log/5/stdout44 2> log/5/stderr44 === End of file commands.log === Start of file http_server.log 20:54:30.674156 Running HTTP IPv4 version on port 33725 20:54:30.674227 Wrote pid 107202 to log/5/server/http_server.pid 20:54:30.674257 Wrote port 33725 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 44 === End of file server.cmd === Start of file test44.txt foo- This is a moo- bar === End of file test44.txt === Start of file valgrind44 ==107914== ==107914== Process terminating with default action of signal 4 (SIGILL) ==107914== Illegal opcode at address 0x4003082 ==107914== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107914== by 0x4003082: main (tool_main.c:243) === End of file valgrind44 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/3/valgrind55 ../src/curl -q --output log/3/curl55.out --include --trace-ascii log/3/trace55 --trace-config all --trace-time http://127.0.0.1:33171/55 -L > log/3/stdout55 2> log/3/stderr55 55: 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 55 === Start of file commands.log ../libtool --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/valgrind55 ../src/curl -q --output log/3/curl55.out --include --trace-ascii log/3/trace55 --trace-config all --trace-time http://127.0.0.1:33171/55 -L > log/3/stdout55 2> log/3/stderr55 === End of file commands.log === Start of file http_server.log 20:54:31.700388 ====> Client connect 20:54:31.700411 accept_connection 3 returned 4 20:54:31.700423 accept_connection 3 returned 0 20:54:31.700433 Read 93 bytes 20:54:31.700440 Process 93 bytes request 20:54:31.700450 Got request: GET /verifiedserver HTTP/1.1 20:54:31.700456 Are-we-friendly question received 20:54:31.700474 Wrote request (93 bytes) input to log/3/server.input 20:54:31.700485 Identifying ourselves as friends 20:54:31.700521 Response sent (57 bytes) and written to log/3/server.response 20:54:31.700528 special request received, no persistency 20:54:31.700534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind55 ==107983== ==107983== Process terminating with default action of signal 4 (SIGILL) ==107983== Illegal opcode at address 0x4003082 ==107983== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==107983== by 0x4003082: main (tool_main.c:243) === End of file valgrind55 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:33337/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 commands.log ../libtool --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:33337/that.site.com/56 log/12/stdout56 2> log/12/stderr56 === End of file commands.log === Start of file http_server.log 20:54:31.864281 ====> Client connect 20:54:31.864301 accept_connection 3 returned 4 20:54:31.864314 accept_connection 3 returned 0 20:54:31.864323 Read 93 bytes 20:54:31.864330 Process 93 bytes request 20:54:31.864339 Got request: GET /verifiedserver HTTP/1.1 20:54:31.864346 Are-we-friendly question received 20:54:31.864361 Wrote request (93 bytes) input to log/12/server.input 20:54:31.864375 Identifying ourselves as friends 20:54:31.864410 Response sent (57 bytes) and written to log/12/server.response 20:54:31.864417 special request received, no persistency 20:54:31.864423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === 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 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-config all --trace-time http://127.0.0.1:35207/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/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/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-config all --trace-time http://127.0.0.1:35661/want/11 -L > log/14/stdout11 2> log/14/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/21/valgrind57 ../src/curl -q --include --trace-ascii log/21/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:36793/57 -o log/21/out57 > log/21/stdout57 2> log/21/stderr57 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # === End of file stdin-for-56 === Start of file valgrind56 ==108052== ==108052== Process terminating with default action of signal 4 (SIGILL) ==108052== Illegal opcode at address 0x4003082 ==108052== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108052== by 0x4003082: main (tool_main.c:243) === End of file valgrind56 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_server.pid" --logfile "log/17/http_server.log" --logdir "log/17" --portfile log/17/server/http_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104796 port 35207 * pid http => 104796 104796 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/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-config all --trace-time http://127.0.0.1:35207/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 8: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 8 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-config all --trace-time http://127.0.0.1:35207/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 === End of file commands.log === 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 20:54:21.979316 Running HTTP IPv4 version on port 35207 20:54:21.979383 Wrote pid 104796 to log/17/server/http_server.pid 20:54:21.979413 Wrote port 35207 to log/17/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 8 === End of file server.cmd === Start of file valgrind8 ==105197== ==105197== Process terminating with default action of signal 4 (SIGILL) ==105197== Illegal opcode at address 0x4003082 ==105197== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==105197== by 0x4003082: main (tool_main.c:243) === 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/14/server/http_server.pid" --logfile "log/14/http_server.log" --logdir "log/14" --portfile log/14/server/http_server.port --config log/14/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104808 port 35661 * pid http => 104808 104808 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/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-config all --trace-time http://127.0.0.1:35661/want/11 -L > log/14/stdout11 2> log/14/stderr11 11: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 11 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-config all --trace-time http://127.0.0.1:35661/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 20:54:21.982205 Running HTTP IPv4 version on port 35661 20:54:21.982268 Wrote pid 104808 to log/14/server/http_server.pid 20:54:21.982292 Wrote port 35661 to log/14/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 11 === End of file server.cmd === Start of file valgrind11 ==105013== ==105013== Process terminating with default action of signal 4 (SIGILL) ==105013== Illegal opcode at address 0x4003082 ==105013== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==105013== by 0x4003082: main (tool_main.c:243) === End of file valgrind11 CMD (33792): ../libtool --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/valgrind60 ../src/curl -q --output log/11/curl60.out --include --trace-ascii log/11/trace60 --trace-config all --trace-time http://127.0.0.1:44265/bzz/60 -T - -H "Content-Length: 1" log/11/stdout60 2> log/11/stderr60 CMD (33792): ../libtool --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/valgrind61 ../src/curl -q --output log/5/curl61.out --include --trace-ascii log/5/trace61 --trace-config all --trace-time http://127.0.0.1:33725/we/want/61 -c log/5/jar61.txt -H "Host: www.host.foo.com" > log/5/stdout61 2> log/5/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/6/valgrind58 ../src/curl -q --output log/6/curl58.out --include --trace-ascii log/6/trace58 --trace-config all --trace-time http://127.0.0.1:38475/we/want/ -T log/6/58te[]st.txt -g > log/6/stdout58 2> log/6/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/3/valgrind62 ../src/curl -q --output log/3/curl62.out --include --trace-ascii log/3/trace62 --trace-config all --trace-time http://127.0.0.1:33171/we/want/62 http://127.0.0.1:33171/we/want/62?hoge=fuga -b log/3/jar62.txt -H "Host: www.host.foo.com" > log/3/stdout62 2> log/3/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/15/valgrind59 ../src/curl -q --output log/15/curl59.out --include --trace-ascii log/15/trace59 --trace-config all --trace-time "http://127.0.0.1:39051?mooo/59" > log/15/stdout59 2> log/15/stderr59 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/21/valgrind57 ../src/curl -q --include --trace-ascii log/21/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:36793/57 -o log/21/out57 > log/21/stdout57 2> log/21/stderr57 57: stdout FAILED: --- log/21/check-expected 2025-06-04 20:54:32.186364669 +0000 +++ log/21/check-generated 2025-06-04 20:54:32.186364669 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/21/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind57 ../src/curl -q --include --trace-ascii log/21/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:36793/57 -o log/21/out57 > log/21/stdout57 2> log/21/stderr57 === End of file commands.log === Start of file http_server.log 20:54:31.999194 ====> Client connect 20:54:31.999215 accept_connection 3 returned 4 20:54:31.999227 accept_connection 3 returned 0 20:54:31.999237 Read 93 bytes 20:54:31.999244 Process 93 bytes request 20:54:31.999253 Got request: GET /verifiedserver HTTP/1.1 20:54:31.999260 Are-we-friendly question received 20:54:31.999275 Wrote request (93 bytes) input to log/21/server.input 20:54:31.999288 Identifying ourselves as friends 20:54:31.999327 Response sent (57 bytes) and written to log/21/server.response 20:54:31.999334 special request received, no persistency 20:54:31.999340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind57 ==108163== ==108163== Process terminating with default action of signal 4 (SIGILL) ==108163== Illegal opcode at address 0x4003082 ==108163== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108163== by 0x4003082: main (tool_main.c:243) === End of file valgrind57 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/3/valgrind62 ../src/curl -q --output log/3/curl62.out --include --trace-ascii log/3/trace62 --trace-config all --trace-time http://127.0.0.1:33171/we/want/62 http://127.0.0.1:33171/we/want/62?hoge=fuga -b log/3/jar62.txt -H "Host: www.host.foo.com" > log/3/stdout62 2> log/3/stderr62 62: 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 62 === Start of file commands.log ../libtool --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/valgrind62 ../src/curl -q --output log/3/curl62.out --include --trace-ascii log/3/trace62 --trace-config all --trace-time http://127.0.0.1:33171/we/want/62 http://127.0.0.1:33171/we/want/62?hoge=fuga -b log/3/jar62.txt -H "Host: www.host.foo.com" > log/3/stdout62 2> log/3/stderr62 === End of file commands.log === Start of file http_server.log 20:54:32.053336 ====> Client connect 20:54:32.053363 accept_connection 3 returned 4 20:54:32.053377 accept_connection 3 returned 0 20:54:32.053387 Read 93 bytes 20:54:32.053395 Process 93 bytes request 20:54:32.053404 Got request: GET /verifiedserver HTTP/1.1 20:54:32.053410 Are-we-friendly question received 20:54:32.053428 Wrote request (93 bytes) input to log/3/server.input 20:54:32.053440 Identifying ourselves as friends 20:54:32.053481 Response sent (57 bytes) and written to log/3/server.response 20:54:32.053488 special request received, no persistency 20:54:32.053494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind62 ==108438== ==108438== Process terminating with default action of signal 4 (SIGILL) ==108438== Illegal opcode at address 0x4003082 ==108438== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108438== by 0x4003082: main (tool_main.c:243) === End of file valgrind62 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/5/valgrind61 ../src/curl -q --output log/5/curl61.out --include --trace-ascii log/5/trace61 --trace-config all --trace-time http://127.0.0.1:33725/we/want/61 -c log/5/jar61.txt -H "Host: www.host.foo.com" > log/5/stdout61 2> log/5/stderr61 61: 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 61 === Start of file commands.log ../libtool --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/valgrind61 ../src/curl -q --output log/5/curl61.out --include --trace-ascii log/5/trace61 --trace-config all --trace-time http://127.0.0.1:33725/we/want/61 -c log/5/jar61.txt -H "Host: www.host.foo.com" > log/5/stdout61 2> log/5/stderr61 === End of file commands.log === Start of file http_server.log 20:54:32.018490 ====> Client connect 20:54:32.018513 accept_connection 3 returned 4 20:54:32.018525 accept_connection 3 returned 0 20:54:32.018534 Read 93 bytes 20:54:32.018541 Process 93 bytes request 20:54:32.018553 Got request: GET /verifiedserver HTTP/1.1 20:54:32.018560 Are-we-friendly question received 20:54:32.018576 Wrote request (93 bytes) input to log/5/server.input 20:54:32.018588 Identifying ourselves as friends 20:54:32.018630 Response sent (57 bytes) and written to log/5/server.response 20:54:32.018637 special request received, no persistency 20:54:32.018643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind61 ==108285== ==108285== Process terminating with default action of signal 4 (SIGILL) ==108285== Illegal opcode at address 0x4003082 ==108285== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108285== by 0x4003082: main (tool_main.c:243) === End of file valgrind61 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/6/valgrind58 ../src/curl -q --output log/6/curl58.out --include --trace-ascii log/6/trace58 --trace-config all --trace-time http://127.0.0.1:38475/we/want/ -T log/6/58te[]st.txt -g > log/6/stdout58 2> log/6/stderr58 58: 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 58 === Start of file 58te[]st.txt a few bytes === End of file 58te[]st.txt === Start of file commands.log ../libtool --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/valgrind58 ../src/curl -q --output log/6/curl58.out --include --trace-ascii log/6/trace58 --trace-config all --trace-time http://127.0.0.1:38475/we/want/ -T log/6/58te[]st.txt -g > log/6/stdout58 2> log/6/stderr58 === End of file commands.log === Start of file http_server.log 20:54:32.002915 ====> Client connect 20:54:32.002942 accept_connection 3 returned 4 20:54:32.002955 accept_connection 3 returned 0 20:54:32.002964 Read 93 bytes 20:54:32.002971 Process 93 bytes request 20:54:32.002981 Got request: GET /verifiedserver HTTP/1.1 20:54:32.002988 Are-we-friendly question received 20:54:32.003004 Wrote request (93 bytes) input to log/6/server.input 20:54:32.003016 Identifying ourselves as friends 20:54:32.003057 Response sent (57 bytes) and written to log/6/server.response 20:54:32.003066 special request received, no persistency 20:54:32.003074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind58 ==108176== ==108176== Process terminating with default action of signal 4 (SIGILL) ==108176== Illegal opcode at address 0x4003082 ==108176== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108176== by 0x4003082: main (tool_main.c:243) === End of file valgrind58 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/11/valgrind60 ../src/curl -q --output log/11/curl60.out --include --trace-ascii log/11/trace60 --trace-config all --trace-time http://127.0.0.1:44265/bzz/60 -T - -H "Content-Length: 1" log/11/stdout60 2> log/11/stderr60 60: 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 60 === Start of file commands.log ../libtool --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/valgrind60 ../src/curl -q --output log/11/curl60.out --include --trace-ascii log/11/trace60 --trace-config all --trace-time http://127.0.0.1:44265/bzz/60 -T - -H "Content-Length: 1" log/11/stdout60 2> log/11/stderr60 === End of file commands.log === Start of file http_server.log 20:54:32.006684 ====> Client connect 20:54:32.006709 accept_connection 3 returned 4 20:54:32.006723 accept_connection 3 returned 0 20:54:32.006734 Read 93 bytes 20:54:32.006743 Process 93 bytes request 20:54:32.006752 Got request: GET /verifiedserver HTTP/1.1 20:54:32.006760 Are-we-friendly question received 20:54:32.006779 Wrote request (93 bytes) input to log/11/server.input 20:54:32.006793 Identifying ourselves as friends 20:54:32.006835 Response sent (57 bytes) and written to log/11/server.response 20:54:32.006843 special request received, no persistency 20:54:32.006850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === 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 ==108202== ==108202== Process terminating with default action of signal 4 (SIGILL) ==108202== Illegal opcode at address 0x4003082 ==108202== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108202== by 0x4003082: main (tool_main.c:243) === End of file valgrind60 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/15/valgrind59 ../src/curl -q --output log/15/curl59.out --include --trace-ascii log/15/trace59 --trace-config all --trace-time "http://127.0.0.1:39051?mooo/59" > log/15/stdout59 2> log/15/stderr59 59: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 59 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind59 ../src/curl -q --output log/15/curl59.out --include --trace-ascii log/15/trace59 --trace-config all --trace-time "http://127.0.0.1:39051?mooo/59" > log/15/stdout59 2> log/15/stderr59 === End of file commands.log === Start of file http_server.log 20:54:32.003944 ====> Client connect 20:54:32.003969 accept_connection 3 returned 4 20:54:32.003981 accept_connection 3 returned 0 20:54:32.003991 Read 93 bytes 20:54:32.003998 Process 93 bytes request 20:54:32.004006 Got request: GET /verifiedserver HTTP/1.1 20:54:32.004012 Are-we-friendly question received 20:54:32.004027 Wrote request (93 bytes) input to log/15/server.input 20:54:32.004038 Identifying ourselves as friends 20:54:32.004072 Response sent (57 bytes) and written to log/15/server.response 20:54:32.004079 special request receiveCMD (33792): ../libtool --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:35791/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/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-config all --trace-time http://127.0.0.1:45957/1 > log/24/stdout1 2> log/24/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/12/valgrind63 ../src/curl -q --output log/12/curl63.out --include --trace-ascii log/12/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/12/stdout63 2> log/12/stderr63 d, no persistency 20:54:32.004085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind59 ==108179== ==108179== Process terminating with default action of signal 4 (SIGILL) ==108179== Illegal opcode at address 0x4003082 ==108179== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108179== by 0x4003082: main (tool_main.c:243) === End of file valgrind59 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: HTTP server is on PID 104812 port 35791 * pid http => 104812 104812 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:35791/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 commands.log ../libtool --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:35791/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 20:54:21.982667 Running HTTP IPv4 version on port 35791 20:54:21.982729 Wrote pid 104812 to log/8/server/http_server.pid 20:54:21.982752 Wrote port 35791 to log/8/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 17 === End of file server.cmd === 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 ==104976== ==104976== Process terminating with default action of signal 4 (SIGILL) ==104976== Illegal opcode at address 0x4003082 ==104976== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104976== by 0x4003082: main (tool_main.c:243) === End of file valgrind17 Warning: 104794: cleardir(log/24/lock) failed startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_server.pid" --logfile "log/24/http_server.log" --logdir "log/24" --portfile log/24/server/http_server.port --config log/24/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104800 port 45957 * pid http => 104800 104800 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/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-config all --trace-time http://127.0.0.1:45957/1 > log/24/stdout1 2> log/24/stderr1 1: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 1 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-config all --trace-time http://127.0.0.1:45957/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 20:54:21.981624 Running HTTP IPv4 version on port 45957 20:54:21.981731 Wrote pid 104800 to log/24/server/http_server.pid 20:54:21.981833 Wrote port 45957 to log/24/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1 === End of file server.cmd === Start of file valgrind1 ==104926== ==104926== Process terminating with default action of signal 4 (SIGILL) ==104926== Illegal opcode at address 0x4003082 ==104926== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104926== by 0x4003082: main (tool_main.c:243) === End of file valgrind1 setenv http_proxy = http://fake:user@127.0.0.1:33337/ 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/12/valgrind63 ../src/curl -q --output log/12/curl63.out --include --trace-ascii log/12/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/12/stdout63 2> log/12/stderr63 63: 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 63 === Start of file commands.log ../libtool --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/valgrind63 ../src/curl -q --output log/12/curl63.out --include --trace-ascii log/12/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/12/stdout63 2> log/12/stderr63 === End of file commands.log === Start of file http_server.log 20:54:32.270577 ====> Client connect 20:54:32.270604 accept_connection 3 returned 4 20:54:32.270618 accept_connection 3 returned 0 20:54:32.270628 Read 93 bytes 20:54:32.270635 Process 93 bytes request 20:54:32.270645 Got request: GET /verifiedserver HTTP/1.1 20:54:32.270652 Are-we-friendly question received 20:54:32.270669 Wrote request (93 bytes) input to log/12/server.input 20:54:32.270680 Identifying ourselves as friends 20:54:32.270718 Response sent (57 bytes) and written to log/12/server.response 20:54:32.270725 special request received, no persistency 20:54:32.270732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind63 ==108514== ==108514== Process terminating with default action of signal 4 (SIGILL) ==108514== Illegal opcode at address 0x4003082 ==108514== at 0x4003082: UnknownInlinedFun (string_fortCMD (33792): ../libtool --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/valgrind72 ../src/curl -q --output log/8/curl72.out --include --trace-ascii log/8/trace72 --trace-config all --trace-time http://127.0.0.1:35791/72 -u testuser:testpass --anyauth > log/8/stdout72 2> log/8/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/6/valgrind69 ../src/curl -q --output log/6/curl69.out --include --trace-ascii log/6/trace69 --trace-config all --trace-time http://127.0.0.1:38475/69 -u testuser:testpass --anyauth > log/6/stdout69 2> log/6/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/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/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/17/valgrind64 ../src/curl -q --output log/17/curl64.out --include --trace-ascii log/17/trace64 --trace-config all --trace-time http://127.0.0.1:35207/64 -u testuser:testpass --digest > log/17/stdout64 2> log/17/stderr64 ified.h:59) ==108514== by 0x4003082: main (tool_main.c:243) === End of file valgrind63 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/8/valgrind72 ../src/curl -q --output log/8/curl72.out --include --trace-ascii log/8/trace72 --trace-config all --trace-time http://127.0.0.1:35791/72 -u testuser:testpass --anyauth > log/8/stdout72 2> log/8/stderr72 72: 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 72 === Start of file commands.log ../libtool --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/valgrind72 ../src/curl -q --output log/8/curl72.out --include --trace-ascii log/8/trace72 --trace-config all --trace-time http://127.0.0.1:35791/72 -u testuser:testpass --anyauth > log/8/stdout72 2> log/8/stderr72 === End of file commands.log === Start of file http_server.log 20:54:32.461012 ====> Client connect 20:54:32.461035 accept_connection 3 returned 4 20:54:32.461048 accept_connection 3 returned 0 20:54:32.461058 Read 93 bytes 20:54:32.461065 Process 93 bytes request 20:54:32.461075 Got request: GET /verifiedserver HTTP/1.1 20:54:32.461082 Are-we-friendly question received 20:54:32.461098 Wrote request (93 bytes) input to log/8/server.input 20:54:32.461112 Identifying ourselves as friends 20:54:32.461152 Response sent (57 bytes) and written to log/8/server.response 20:54:32.461159 special request received, no persistency 20:54:32.461166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind72 ==109016== ==109016== Process terminating with default action of signal 4 (SIGILL) ==109016== Illegal opcode at address 0x4003082 ==109016== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109016== by 0x4003082: main (tool_main.c:243) === End of file valgrind72 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/6/valgrind69 ../src/curl -q --output log/6/curl69.out --include --trace-ascii log/6/trace69 --trace-config all --trace-time http://127.0.0.1:38475/69 -u testuser:testpass --anyauth > log/6/stdout69 2> log/6/stderr69 69: 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 69 === Start of file commands.log ../libtool --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/valgrind69 ../src/curl -q --output log/6/curl69.out --include --trace-ascii log/6/trace69 --trace-config all --trace-time http://127.0.0.1:38475/69 -u testuser:testpass --anyauth > log/6/stdout69 2> log/6/stderr69 === End of file commands.log === Start of file http_server.log 20:54:32.436528 ====> Client connect 20:54:32.436550 accept_connection 3 returned 4 20:54:32.436563 accept_connection 3 returned 0 20:54:32.436572 Read 93 bytes 20:54:32.436580 Process 93 bytes request 20:54:32.436589 Got request: GET /verifiedserver HTTP/1.1 20:54:32.436596 Are-we-friendly question received 20:54:32.436612 Wrote request (93 bytes) input to log/6/server.input 20:54:32.436624 Identifying ourselves as friends 20:54:32.436661 Response sent (57 bytes) and written to log/6/server.response 20:54:32.436668 special request received, no persistency 20:54:32.436674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind69 ==108766== ==108766== Process terminating with default action of signal 4 (SIGILL) ==108766== Illegal opcode at address 0x4003082 ==108766== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108766== by 0x4003082: main (tool_main.c:243) === End of file valgrind69 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: HTTP server is on PID 104810 port 35779 * pid http => 104810 104810 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/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 curl returned 132, when expecting 2 21: exit FAILED == Contents of files in the log/4/ dir after test 21 === Start of file commands.log ../libtool --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/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 === End of file commands.log === Start of file http_server.log 20:54:21.982351 Running HTTP IPv4 version on port 35779 20:54:21.982426 Wrote pid 104810 to log/4/server/http_server.pid 20:54:21.982456 Wrote port 35779 to log/4/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 21 === End of file server.cmd === Start of file valgrind21 ==104957== ==104957== Process terminating with default action of signal 4 (SIGILL) ==104957== Illegal opcode at address 0x4003082 ==104957== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104957== by 0x4003082: main (tool_main.c:243) === End of file valgrind21 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/17/valgrind64 ../src/curl -q --output log/17/curl64.out --include --trace-ascii log/17/trace64 --trace-config all --trace-time http://127.0.0.1:35207/64 -u testuser:testpass --digest > log/17/stdout64 2> log/17/stderr64 64: protocol FAILED! There was no content at all in the file log/17/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/3/valgrind71 ../src/curl -q --output log/3/curl71.out --include --trace-ascii log/3/trace71 --trace-config all --trace-time http://127.0.0.1:33171/we/want/71 -K - log/3/stdout71 2> log/3/stderr71 CMD (33792): ../libtool --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/valgrind68 ../src/curl -q --output log/11/curl68.out --include --trace-ascii log/11/trace68 --trace-config all --trace-time http://127.0.0.1:44265/68 -u testuser:testpass --ntlm > log/11/stdout68 2> log/11/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/21/valgrind66 ../src/curl -q --output log/21/curl66.out --include --trace-ascii log/21/trace66 --trace-config all --trace-time http://127.0.0.1:36793/66 --http0.9 > log/21/stdout66 2> log/21/stderr66 in the log/17/ dir after test 64 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind64 ../src/curl -q --output log/17/curl64.out --include --trace-ascii log/17/trace64 --trace-config all --trace-time http://127.0.0.1:35207/64 -u testuser:testpass --digest > log/17/stdout64 2> log/17/stderr64 === End of file commands.log === Start of file http_server.log 20:54:32.416925 ====> Client connect 20:54:32.416948 accept_connection 3 returned 4 20:54:32.416970 accept_connection 3 returned 0 20:54:32.416997 Read 93 bytes 20:54:32.417012 Process 93 bytes request 20:54:32.417026 Got request: GET /verifiedserver HTTP/1.1 20:54:32.417034 Are-we-friendly question received 20:54:32.417053 Wrote request (93 bytes) input to log/17/server.input 20:54:32.417068 Identifying ourselves as friends 20:54:32.417112 Response sent (57 bytes) and written to log/17/server.response 20:54:32.417119 special request received, no persistency 20:54:32.417125 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind64 ==108645== ==108645== Process terminating with default action of signal 4 (SIGILL) ==108645== Illegal opcode at address 0x4003082 ==108645== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108645== by 0x4003082: main (tool_main.c:243) === End of file valgrind64 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/3/valgrind71 ../src/curl -q --output log/3/curl71.out --include --trace-ascii log/3/trace71 --trace-config all --trace-time http://127.0.0.1:33171/we/want/71 -K - log/3/stdout71 2> log/3/stderr71 71: 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 71 === Start of file commands.log ../libtool --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/valgrind71 ../src/curl -q --output log/3/curl71.out --include --trace-ascii log/3/trace71 --trace-config all --trace-time http://127.0.0.1:33171/we/want/71 -K - log/3/stdout71 2> log/3/stderr71 === End of file commands.log === Start of file http_server.log 20:54:32.438922 ====> Client connect 20:54:32.438943 accept_connection 3 returned 4 20:54:32.438958 accept_connection 3 returned 0 20:54:32.438968 Read 93 bytes 20:54:32.438975 Process 93 bytes request 20:54:32.438983 Got request: GET /verifiedserver HTTP/1.1 20:54:32.438991 Are-we-friendly question received 20:54:32.439023 Wrote request (93 bytes) input to log/3/server.input 20:54:32.439035 Identifying ourselves as friends 20:54:32.439075 Response sent (57 bytes) and written to log/3/server.response 20:54:32.439082 special request received, no persistency 20:54:32.439088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/3/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 ==108765== ==108765== Process terminating with default action of signal 4 (SIGILL) ==108765== Illegal opcode at address 0x4003082 ==108765== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108765== by 0x4003082: main (tool_main.c:243) === End of file valgrind71 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/11/valgrind68 ../src/curl -q --output log/11/curl68.out --include --trace-ascii log/11/trace68 --trace-config all --trace-time http://127.0.0.1:44265/68 -u testuser:testpass --ntlm > log/11/stdout68 2> log/11/stderr68 68: 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 68 === Start of file commands.log ../libtool --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/valgrind68 ../src/curl -q --output log/11/curl68.out --include --trace-ascii log/11/trace68 --trace-config all --trace-time http://127.0.0.1:44265/68 -u testuser:testpass --ntlm > log/11/stdout68 2> log/11/stderr68 === End of file commands.log === Start of file http_server.log 20:54:32.437425 ====> Client connect 20:54:32.437447 accept_connection 3 returned 4 20:54:32.437459 accept_connection 3 returned 0 20:54:32.437469 Read 93 bytes 20:54:32.437478 Process 93 bytes request 20:54:32.437488 Got request: GET /verifiedserver HTTP/1.1 20:54:32.437495 Are-we-friendly question received 20:54:32.437557 Wrote request (93 bytes) input to log/11/server.input 20:54:32.437573 Identifying ourselves as friends 20:54:32.437743 Response sent (57 bytes) and written to log/11/server.response 20:54:32.437753 special request received, no persistency 20:54:32.437760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind68 ==108750== ==108750== Process terminating with default action of signal 4 (SIGILL) ==108750== Illegal opcode at address 0x4003082 ==108750== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108750== by 0x4003082: main (tool_main.c:243) === End of file valgrind68 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/21/valgrind66 ../src/curl -q --output log/21/curl66.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/14/valgrind65 ../src/curl -q --output log/14/curl65.out --include --trace-ascii log/14/trace65 --trace-config all --trace-time http://127.0.0.1:35661/65 -u testuser:test2pass --digest > log/14/stdout65 2> log/14/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/15/valgrind67 ../src/curl -q --output log/15/curl67.out --include --trace-ascii log/15/trace67 --trace-config all --trace-time http://127.0.0.1:39051/67 -u testuser:testpass --ntlm > log/15/stdout67 2> log/15/stderr67 CMD (33792): ../libtool --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/valgrind70 ../src/curl -q --output log/5/curl70.out --include --trace-ascii log/5/trace70 --trace-config all --trace-time http://127.0.0.1:33725/70 -u testuser:testpass --anyauth > log/5/stdout70 2> log/5/stderr70 ut --include --trace-ascii log/21/trace66 --trace-config all --trace-time http://127.0.0.1:36793/66 --http0.9 > log/21/stdout66 2> log/21/stderr66 66: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 66 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind66 ../src/curl -q --output log/21/curl66.out --include --trace-ascii log/21/trace66 --trace-config all --trace-time http://127.0.0.1:36793/66 --http0.9 > log/21/stdout66 2> log/21/stderr66 === End of file commands.log === Start of file http_server.log 20:54:32.434636 ====> Client connect 20:54:32.434659 accept_connection 3 returned 4 20:54:32.434672 accept_connection 3 returned 0 20:54:32.434682 Read 93 bytes 20:54:32.434689 Process 93 bytes request 20:54:32.434698 Got request: GET /verifiedserver HTTP/1.1 20:54:32.434705 Are-we-friendly question received 20:54:32.434721 Wrote request (93 bytes) input to log/21/server.input 20:54:32.434733 Identifying ourselves as friends 20:54:32.434770 Response sent (57 bytes) and written to log/21/server.response 20:54:32.434777 special request received, no persistency 20:54:32.434785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind66 ==108721== ==108721== Process terminating with default action of signal 4 (SIGILL) ==108721== Illegal opcode at address 0x4003082 ==108721== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108721== by 0x4003082: main (tool_main.c:243) === 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/14/valgrind65 ../src/curl -q --output log/14/curl65.out --include --trace-ascii log/14/trace65 --trace-config all --trace-time http://127.0.0.1:35661/65 -u testuser:test2pass --digest > log/14/stdout65 2> log/14/stderr65 65: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 65 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind65 ../src/curl -q --output log/14/curl65.out --include --trace-ascii log/14/trace65 --trace-config all --trace-time http://127.0.0.1:35661/65 -u testuser:test2pass --digest > log/14/stdout65 2> log/14/stderr65 === End of file commands.log === Start of file http_server.log 20:54:32.426292 ====> Client connect 20:54:32.426314 accept_connection 3 returned 4 20:54:32.426327 accept_connection 3 returned 0 20:54:32.426337 Read 93 bytes 20:54:32.426345 Process 93 bytes request 20:54:32.426354 Got request: GET /verifiedserver HTTP/1.1 20:54:32.426361 Are-we-friendly question received 20:54:32.426378 Wrote request (93 bytes) input to log/14/server.input 20:54:32.426392 Identifying ourselves as friends 20:54:32.426436 Response sent (57 bytes) and written to log/14/server.response 20:54:32.426443 special request received, no persistency 20:54:32.426449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind65 ==108699== ==108699== Process terminating with default action of signal 4 (SIGILL) ==108699== Illegal opcode at address 0x4003082 ==108699== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108699== by 0x4003082: main (tool_main.c:243) === 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/15/valgrind67 ../src/curl -q --output log/15/curl67.out --include --trace-ascii log/15/trace67 --trace-config all --trace-time http://127.0.0.1:39051/67 -u testuser:testpass --ntlm > log/15/stdout67 2> log/15/stderr67 67: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 67 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind67 ../src/curl -q --output log/15/curl67.out --include --trace-ascii log/15/trace67 --trace-config all --trace-time http://127.0.0.1:39051/67 -u testuser:testpass --ntlm > log/15/stdout67 2> log/15/stderr67 === End of file commands.log === Start of file http_server.log 20:54:32.437283 ====> Client connect 20:54:32.437306 accept_connection 3 returned 4 20:54:32.437319 accept_connection 3 returned 0 20:54:32.437329 Read 93 bytes 20:54:32.437337 Process 93 bytes request 20:54:32.437345 Got request: GET /verifiedserver HTTP/1.1 20:54:32.437352 Are-we-friendly question received 20:54:32.437368 Wrote request (93 bytes) input to log/15/server.input 20:54:32.437380 Identifying ourselves as friends 20:54:32.437422 Response sent (57 bytes) and written to log/15/server.response 20:54:32.437429 special request received, no persistency 20:54:32.437436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind67 ==108757== ==108757== Process terminating with default action of signal 4 (SIGILL) ==108757== Illegal opcode at address 0x4003082 ==108757== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108757== by 0x4003082: main (tool_main.c:243) === End of file valgrind67 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-callersCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:38539/2 > log/23/stdout2 2> log/23/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/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-config all --trace-time "127.0.0.1:39141/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 =16 --log-file=log/5/valgrind70 ../src/curl -q --output log/5/curl70.out --include --trace-ascii log/5/trace70 --trace-config all --trace-time http://127.0.0.1:33725/70 -u testuser:testpass --anyauth > log/5/stdout70 2> log/5/stderr70 70: 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 70 === Start of file commands.log ../libtool --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/valgrind70 ../src/curl -q --output log/5/curl70.out --include --trace-ascii log/5/trace70 --trace-config all --trace-time http://127.0.0.1:33725/70 -u testuser:testpass --anyauth > log/5/stdout70 2> log/5/stderr70 === End of file commands.log === Start of file http_server.log 20:54:32.437725 ====> Client connect 20:54:32.437756 accept_connection 3 returned 4 20:54:32.437770 accept_connection 3 returned 0 20:54:32.437781 Read 93 bytes 20:54:32.437789 Process 93 bytes request 20:54:32.437797 Got request: GET /verifiedserver HTTP/1.1 20:54:32.437804 Are-we-friendly question received 20:54:32.437823 Wrote request (93 bytes) input to log/5/server.input 20:54:32.437837 Identifying ourselves as friends 20:54:32.437882 Response sent (57 bytes) and written to log/5/server.response 20:54:32.437890 special request received, no persistency 20:54:32.437896 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind70 ==108761== ==108761== Process terminating with default action of signal 4 (SIGILL) ==108761== Illegal opcode at address 0x4003082 ==108761== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==108761== by 0x4003082: main (tool_main.c:243) === End of file valgrind70 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_server.pid" --logfile "log/23/http_server.log" --logdir "log/23" --portfile log/23/server/http_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104804 port 38539 * pid http => 104804 104804 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/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:38539/2 > log/23/stdout2 2> log/23/stderr2 2: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 2 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:38539/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 20:54:21.981930 Running HTTP IPv4 version on port 38539 20:54:21.981978 Wrote pid 104804 to log/23/server/http_server.pid 20:54:21.982004 Wrote port 38539 to log/23/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 2 === End of file server.cmd === Start of file valgrind2 ==104959== ==104959== Process terminating with default action of signal 4 (SIGILL) ==104959== Illegal opcode at address 0x4003082 ==104959== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104959== by 0x4003082: main (tool_main.c:243) === End of file valgrind2 CMD (33792): ../libtool --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/valgrind74 ../src/curl -q --include --trace-ascii log/12/trace74 --trace-config all --trace-time "http://127.0.0.1:33337/{74,740001}" -o "log/12/dumpit#1.dump" > log/12/stdout74 2> log/12/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/24/valgrind73 ../src/curl -q --output log/24/curl73.out --include --trace-ascii log/24/trace73 --trace-config all --trace-time http://127.0.0.1:45957/we/want/73 -c log/24/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/24/stdout73 2> log/24/stderr73 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: HTTP server is on PID 104806 port 39141 * pid http => 104806 104806 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/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-config all --trace-time "127.0.0.1:39141/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2025-06-04 20:54:32.766364683 +0000 +++ log/7/check-generated 2025-06-04 20:54:32.766364683 +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/7/ 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 commands.log ../libtool --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/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-config all --trace-time "127.0.0.1:39141/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 20:54:21.981256 Running HTTP IPv4 version on port 39141 20:54:21.981364 Wrote pid 104806 to log/7/server/http_server.pid 20:54:21.981396 Wrote port 39141 to log/7/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 18 === End of file server.cmd === Start of file valgrind18 ==104932== ==104932== Process terminating with default action of signal 4 (SIGILL) ==104932== Illegal opcode at address 0x4003082 ==104932== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104932== by 0x4003082: main (tool_main.c:243) === End of file valgrind18 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/12/valgrind74 ../src/curl -q --include --trace-ascii log/12/trace74 --trace-config all --trace-time "http://127.0.0.1:33337/{74,740001}" -o "log/12/dumpit#1.dump" > log/12/stdout74 2> log/12/stderr74 74: 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 74 === Start of file commands.log ../libtool --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/valgrind74 ../src/curl -q --include --trace-ascii log/12/trace74 --trace-config all --trace-time "http://127.0.0.1:33337/{74,740001}" -o "log/12/dumpit#1.dump" > log/12/stdout74 2> log/12/stderr74 === End of file commands.log === Start of file http_server.log 20:54:32.659368 ====> Client connect 20:54:32.659389 accept_connection 3 returned 4 20:54:32.659402 accept_connection 3 returned 0 20:54:32.659412 Read 93 bytes 20:54:32.659420 Process 93 bytes request 20:54:32.659428 Got request: GET /verifiedserver HTTP/1.1 20:54:32.659435 Are-we-friendly question received 20:54:32.659451 Wrote request (93 bytes) input to log/12/server.input 20:54:32.659463 Identifying ourselves as friends 20:54:32.659499 Response sent (57 bytes) and written to log/12/server.response 20:54:32.659506 special request received, no persistency 20:54:32.659513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind74 ==109187== ==109187== Process terminating with default action of signal 4 (SIGILL) ==109187== Illegal opcode at address 0x4003082 ==109187== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109187== by 0x4003082: main (tool_main.c:243) === End of file valgrind74 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/24/valgrind73 ../src/curl -q --output log/24/curl73.out --include --trace-ascii log/24/trace73 --trace-config all --trace-time http://127.0.0.1:45957/we/want/73 -c log/24/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/24/stdout73 2> log/24/stderr73 73: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 73 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind73 ../src/curl -q --output log/24/curl73.out --include --trace-ascii log/24/trace73 --trace-config all --trace-time http://127.0.0.1:45957/we/want/73 -c log/24/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/24/stdout73 2> log/24/stderr73 === End of file commands.log === Start of file http_server.log 20:54:32.653913 ====> Client connect 20:54:32.653938 accept_connection 3 returned 4 20:54:32.653952 accept_connection 3 returned 0 20:54:32.653963 Read 93 bytes 20:54:32.653971 Process 93 bytes request 20:54:32.653984 Got request: GET /verifiedserver HTTP/1.1 20:54:32.653991 Are-we-friendly question received 20:54:32.654010 Wrote request (93 bytes) input to log/24/server.input 20:54:32.654023 Identifying ourselves as friends 20:54:32.654069 Response sent (57 bytes) and written to log/24/server.response 20:54:32.654076 special request received, no persistency 20:54:32.654083 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind73 ==109178== ==109178== Process terminating with default action of signal 4 (SIGILL) ==109178== Illegal opcode at address 0x4003082 ==109178== at 0x4003082: 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/valgrind84 ../src/curl -q --output log/5/curl84.out --include --trace-ascii log/5/trace84 --trace-config all --trace-time http://127.0.0.1:33725/we/want/that/page/84 -x 127.0.0.1:33725 --user iam:myself > log/5/stdout84 2> log/5/stderr84 CMD (33792): ../libtool --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/valgrind75 ../src/curl -q --include --trace-ascii log/8/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/8/weee#1.dump" --stderr - > log/8/stdout75 2> log/8/stderr75 string_fortified.h:59) ==109178== by 0x4003082: main (tool_main.c:243) === End of file valgrind73 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/5/valgrind84 ../src/curl -q --output log/5/curl84.out --include --trace-ascii log/5/trace84 --trace-config all --trace-time http://127.0.0.1:33725/we/want/that/page/84 -x 127.0.0.1:33725 --user iam:myself > log/5/stdout84 2> log/5/stderr84 84: 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 84 === Start of file commands.log ../libtool --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/valgrind84 ../src/curl -q --output log/5/curl84.out --include --trace-ascii log/5/trace84 --trace-config all --trace-time http://127.0.0.1:33725/we/want/that/page/84 -x 127.0.0.1:33725 --user iam:myself > log/5/stdout84 2> log/5/stderr84 === End of file commands.log === Start of file http_server.log 20:54:32.902051 ====> Client connect 20:54:32.902089 accept_connection 3 returned 4 20:54:32.902105 accept_connection 3 returned 0 20:54:32.902118 Read 93 bytes 20:54:32.902127 Process 93 bytes request 20:54:32.902138 Got request: GET /verifiedserver HTTP/1.1 20:54:32.902146 Are-we-friendly question received 20:54:32.902171 Wrote request (93 bytes) input to log/5/server.input 20:54:32.902185 Identifying ourselves as friends 20:54:32.902234 Response sent (57 bytes) and written to log/5/server.response 20:54:32.902242 special request received, no persistency 20:54:32.902249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind84 ==109556== ==109556== Process terminating with default action of signal 4 (SIGILL) ==109556== Illegal opcode at address 0x4003082 ==109556== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109556== by 0x4003082: main (tool_main.c:243) === End of file valgrind84 CMD (33792): ../libtool --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/valgrind76 ../src/curl -q --output log/6/curl76.out --include --trace-ascii log/6/trace76 --trace-config all --trace-time http://127.0.0.1:38475/76 -u testuser:testpass --anyauth > log/6/stdout76 2> log/6/stderr76 CMD (33792): ../libtool --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/valgrind77 ../src/curl -q --output log/4/curl77.out --include --trace-ascii log/4/trace77 --trace-config all --trace-time http://127.0.0.1:35779/77 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout77 2> log/4/stderr77 CMD (33792): ../libtool --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/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-config all --trace-time http://127.0.0.1:42503/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-config all --trace-time http://127.0.0.1:35207/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/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/14/valgrind82 ../src/curl -q --output log/14/curl82.out --include --trace-ascii log/14/trace82 --trace-config all --trace-time http://127.0.0.1:35661/82 --proxy-user testuser:testpass -x http://127.0.0.1:35661 > log/14/stdout82 2> log/14/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/21/valgrind81 ../src/curl -q --output log/21/curl81.out --include --trace-ascii log/21/trace81 --trace-config all --trace-time http://127.0.0.1:36793/81 --proxy-user testuser:testpass -x http://127.0.0.1:36793 --proxy-ntlm > log/21/stdout81 2> log/21/stderr81 CMD (33792): ../libtool --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/valgrind79 ../src/curl -q --output log/3/curl79.out --include --trace-ascii log/3/trace79 --trace-config all --trace-time ftp://127.0.0.1:33171/we/want/that/page/79 -x 127.0.0.1:33171 > log/3/stdout79 2> log/3/stderr79 * 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/8/valgrind75 ../src/curl -q --include --trace-ascii log/8/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/8/weee#1.dump" --stderr - > log/8/stdout75 2> log/8/stderr75 75: stdout FAILED: --- log/8/check-expected 2025-06-04 20:54:33.089698024 +0000 +++ log/8/check-generated 2025-06-04 20:54:33.089698024 +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/8/ 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 commands.log ../libtool --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/valgrind75 ../src/curl -q --include --trace-ascii log/8/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/8/weee#1.dump" --stderr - > log/8/stdout75 2> log/8/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==109284== ==109284== Process terminating with default action of signal 4 (SIGILL) ==109284== Illegal opcode at address 0x4003082 ==109284== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109284== by 0x4003082: main (tool_main.c:243) === End of file valgrind75 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: HTTP server is on PID 104816 port 42503 * pid http => 104816 104816 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/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-config all --trace-time http://127.0.0.1:42503/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 24: 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 24 === Start of file commands.log ../libtool --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/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-config all --trace-time http://127.0.0.1:42503/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 20:54:21.983261 Running HTTP IPv4 version on port 42503 20:54:21.983312 Wrote pid 104816 to log/1/server/http_server.pid 20:54:21.983335 Wrote port 42503 to log/1/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 24 === End of file server.cmd === Start of file valgrind24 ==104989== ==104989== Process terminating with default action of signal 4 (SIGILL) ==104989== Illegal opcode at address 0x4003082 ==104989== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104989== by 0x4003082: main (tool_main.c:243) === End of file valgrind24 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/4/valgrind77 ../src/curl -q --output log/4/curl77.out --include --trace-ascii log/4/trace77 --trace-config all --trace-time http://127.0.0.1:35779/77 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout77 2> log/4/stderr77 77: 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 77 === Start of file commands.log ../libtool --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/valgrind77 ../src/curl -q --output log/4/curl77.out --include --trace-ascii log/4/trace77 --trace-config all --trace-time http://127.0.0.1:35779/77 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout77 2> log/4/stderr77 === End of file commands.log === Start of file http_server.log 20:54:32.887231 ====> Client connect 20:54:32.887264 accept_connection 3 returned 4 20:54:32.887282 accept_connection 3 returned 0 20:54:32.887296 Read 93 bytes 20:54:32.887306 Process 93 bytes request 20:54:32.887319 Got request: GET /verifiedserver HTTP/1.1 20:54:32.887328 Are-we-friendly question received 20:54:32.887355 Wrote request (93 bytes) input to log/4/server.input 20:54:32.887373 Identifying ourselves as friends 20:54:32.887444 Response sent (57 bytes) and written to log/4/server.response 20:54:32.887455 special request received, no persistency 20:54:32.887463 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind77 ==109509== ==109509== Process terminating with default action of signal 4 (SIGILL) ==109509== Illegal opcode at address 0x4003082 ==109509== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109509== by 0x4003082: main (tool_main.c:243) === End of file valgrind77 test 0076...[HTTP with comma-separated WWW-Authenticate 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/valgrind76 ../src/curl -q --output log/6/curl76.out --include --trace-ascii log/6/trace76 --trace-config all --trace-time http://127.0.0.1:38475/76 -u testuser:testpass --anyauth > log/6/stdout76 2> log/6/stderr76 76: 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 76 === Start of file commands.log ../libtool --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/valgrind76 ../src/curl -q --output log/6/curl76.out --include --trace-ascii log/6/trace76 --trace-config all --trace-time http://127.0.0.1:38475/76 -u testuser:testpass --anyauth > log/6/stdout76 2> log/6/stderr76 === End of file commands.log === Start of file http_server.log 20:54:32.842513 ====> Client connect 20:54:32.842535 accept_connection 3 returned 4 20:54:32.842547 accept_connection 3 returned 0 20:54:32.842557 Read 93 bytes 20:54:32.842566 Process 93 bytes request 20:54:32.842580 Got request: GET /verifiedserver HTTP/1.1 20:54:32.842587 Are-we-friendly question received 20:54:32.842604 Wrote request (93 bytes) input to log/6/server.input 20:54:32.842615 Identifying ourselves as friends 20:54:32.842651 Response sent (57 bytes) and written to log/6/server.response 20:54:32.842658 special request received, no persistency 20:54:32.842664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === End of file http_verify.out === Start of file server.cmd Testnum 76 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind76 ==109328== ==109328== Process terminating with default action of signal 4 (SIGILL) ==109328== Illegal opcode at address 0x4003082 ==109328== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109328== by 0x4003082: main (tool_main.c:243) === End of file valgrind76 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/14/valgrind82 ../src/curl -q --output log/14/curl82.out --include --trace-ascii log/14/trace82 --trace-config all --trace-time http://127.0.0.1:35661/82 --proxy-user testuser:testpass -x http://127.0.0.1:35661 > log/14/stdout82 2> log/14/stderr82 82: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 82 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind82 ../src/curl -q --output log/14/curl82.out --include --trace-ascii log/14/trace82 --trace-config all --trace-time http://127.0.0.1:35661/82 --proxy-user testuser:testpass -x http://127.0.0.1:35661 > log/14/stdout82 2> log/14/stderr82 === End of file commands.log === Start of file http_server.log 20:54:32.899583 ====> Client connect 20:54:32.899608 accept_connection 3 returned 4 20:54:32.899622 accept_connection 3 returned 0 20:54:32.899633 Read 93 bytes 20:54:32.899641 Process 93 bytes request 20:54:32.899650 Got request: GET /verifiedserver HTTP/1.1 20:54:32.899657 Are-we-friendly question received 20:54:32.899678 Wrote request (93 bytes) input to log/14/server.input 20:54:32.899692 Identifying ourselves as friends 20:54:32.899736 Response sent (57 bytes) and written to log/14/server.response 20:54:32.899744 special request received, no persistency 20:54:32.899752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind82 ==109550== ==109550== Process terminating with default action of signal 4 (SIGILL) ==109550== Illegal opcode at address 0x4003082 ==109550== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109550== by 0x4003082: main (tool_main.c:243) === End of file valgrind82 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/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-config all --trace-time http://127.0.0.1:35207/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 78: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 78 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-config all --trace-time http://127.0.0.1:35207/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 === End of file commands.log === Start of file http_server.log 20:54:32.892467 ====> Client connect 20:54:32.892509 accept_connection 3 returned 4 20:54:32.892533 accept_connection 3 returned 0 20:54:32.892551 Read 93 bytes 20:54:32.892561 Process 93 bytes request 20:54:32.892576 Got request: GET /verifiedserver HTTP/1.1 20:54:32.892585 Are-we-friendly question received 20:54:32.892623 Wrote request (93 bytes) input to log/17/server.input 20:54:32.892650 Identifying ourselves as friends 20:54:32.892740 Response sent (57 bytes) and written to log/17/server.response 20:54:32.892752 special request received, no persistency 20:54:32.892766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind78 ==109514== ==109514== Process terminating with default action of signal 4 (SIGILL) ==109514== Illegal opcode at address 0x4003082 ==109514== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109514== by 0x4003082: main (tool_main.c:243) === 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/3/valgrind79 ../src/curl -q --output log/3/curl79.out --include --trace-ascii log/3/trace79 --trace-config all --trace-time ftp://127.0.0.1:33171/we/want/that/page/79 -x 127.0.0.1:33171 > log/3/stdout79 2> log/3/stderr79 79: 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 79 === Start of file commands.log ../libtool --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/valgrind79 ../src/curl -q --output log/3/curl79.out --include --trace-ascii log/3/trace79 --trace-config all --trace-time ftp://127.0.0.1:33171/we/want/that/page/79 -x 127.0.0.1:33171 > log/3/stdout79 2> log/3/stderr79 === End of file commands.log === Start of file http_server.log 20:54:32.894285 ====> Client connect 20:54:32.894316 accept_connection 3 returned 4 20:54:32.894330 accept_connection 3 returned 0 20:54:32.894341 Read 93 bytes 20:54:32.894348 ProcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind85 ../src/curl -q --output log/23/curl85.out --include --trace-ascii log/23/trace85 --trace-config all --trace-time http://127.0.0.1:38539/we/want/that/page/85 -x 127.0.0.1:38539 --user iam:myself --proxy-user testing:this > log/23/stdout85 2> log/23/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/12/valgrind87 ../src/curl -q --include --trace-ascii log/12/trace87 --trace-config all --trace-time "http://127.0.0.1:33337/[870001-870002]" -o "log/12/dumpit87-#2.dump" > log/12/stdout87 2> log/12/stderr87 ess 93 bytes request 20:54:32.894358 Got request: GET /verifiedserver HTTP/1.1 20:54:32.894365 Are-we-friendly question received 20:54:32.894384 Wrote request (93 bytes) input to log/3/server.input 20:54:32.894396 Identifying ourselves as friends 20:54:32.894440 Response sent (57 bytes) and written to log/3/server.response 20:54:32.894447 special request received, no persistency 20:54:32.894454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind79 ==109520== ==109520== Process terminating with default action of signal 4 (SIGILL) ==109520== Illegal opcode at address 0x4003082 ==109520== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109520== by 0x4003082: main (tool_main.c:243) === 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/21/valgrind81 ../src/curl -q --output log/21/curl81.out --include --trace-ascii log/21/trace81 --trace-config all --trace-time http://127.0.0.1:36793/81 --proxy-user testuser:testpass -x http://127.0.0.1:36793 --proxy-ntlm > log/21/stdout81 2> log/21/stderr81 81: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 81 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind81 ../src/curl -q --output log/21/curl81.out --include --trace-ascii log/21/trace81 --trace-config all --trace-time http://127.0.0.1:36793/81 --proxy-user testuser:testpass -x http://127.0.0.1:36793 --proxy-ntlm > log/21/stdout81 2> log/21/stderr81 === End of file commands.log === Start of file http_server.log 20:54:32.897860 ====> Client connect 20:54:32.897890 accept_connection 3 returned 4 20:54:32.897907 accept_connection 3 returned 0 20:54:32.897920 Read 93 bytes 20:54:32.897930 Process 93 bytes request 20:54:32.897941 Got request: GET /verifiedserver HTTP/1.1 20:54:32.897950 Are-we-friendly question received 20:54:32.897974 Wrote request (93 bytes) input to log/21/server.input 20:54:32.897990 Identifying ourselves as friends 20:54:32.898043 Response sent (57 bytes) and written to log/21/server.response 20:54:32.898052 special request received, no persistency 20:54:32.898060 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind81 ==109551== ==109551== Process terminating with default action of signal 4 (SIGILL) ==109551== Illegal opcode at address 0x4003082 ==109551== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109551== by 0x4003082: main (tool_main.c:243) === End of file valgrind81 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/23/valgrind85 ../src/curl -q --output log/23/curl85.out --include --trace-ascii log/23/trace85 --trace-config all --trace-time http://127.0.0.1:38539/we/want/that/page/85 -x 127.0.0.1:38539 --user iam:myself --proxy-user testing:this > log/23/stdout85 2> log/23/stderr85 85: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 85 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind85 ../src/curl -q --output log/23/curl85.out --include --trace-ascii log/23/trace85 --trace-config all --trace-time http://127.0.0.1:38539/we/want/that/page/85 -x 127.0.0.1:38539 --user iam:myself --proxy-user testing:this > log/23/stdout85 2> log/23/stderr85 === End of file commands.log === Start of file http_server.log 20:54:33.010078 ====> Client connect 20:54:33.010110 accept_connection 3 returned 4 20:54:33.010125 accept_connection 3 returned 0 20:54:33.010138 Read 93 bytes 20:54:33.010151 Process 93 bytes request 20:54:33.010166 Got request: GET /verifiedserver HTTP/1.1 20:54:33.010174 Are-we-friendly question received 20:54:33.010200 Wrote request (93 bytes) input to log/23/server.input 20:54:33.010218 Identifying ourselves as friends 20:54:33.010273 Response sent (57 bytes) and written to log/23/server.response 20:54:33.010283 special request received, no persistency 20:54:33.010291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind85 ==109846== ==109846== Process terminating with default action of signal 4 (SIGILL) ==109846== Illegal opcode at address 0x4003082 ==109846== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109846== by 0x4003082: main (tool_main.c:243) === End of file valgrind85 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind88 ../src/curl -q --output log/24/curl88.out --include --trace-ascii log/24/trace88 --trace-config all --trace-time http://127.0.0.1:45957/88 -T log/24/put88 -u testuser:testpass --digest > log/24/stdout88 2> log/24/stderr88 CMD (33792): ../libtool --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:39141/[860001-860003]" -o "log/7/dumpit#1.dump" > log/7/stdout86 2> log/7/stderr86 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/12/valgrind87 ../src/curl -q --include --trace-ascii log/12/trace87 --trace-config all --trace-time "http://127.0.0.1:33337/[870001-870002]" -o "log/12/dumpit87-#2.dump" > log/12/stdout87 2> log/12/stderr87 87: output (log/12/dumpit87-#2.dump) FAILED: --- log/12/check-expected 2025-06-04 20:54:33.263031360 +0000 +++ log/12/check-generated 2025-06-04 20:54:33.263031360 +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/12/ 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 commands.log ../libtool --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/valgrind87 ../src/curl -q --include --trace-ascii log/12/trace87 --trace-config all --trace-time "http://127.0.0.1:33337/[870001-870002]" -o "log/12/dumpit87-#2.dump" > log/12/stdout87 2> log/12/stderr87 === End of file commands.log === Start of file http_server.log 20:54:33.068314 ====> Client connect 20:54:33.068340 accept_connection 3 returned 4 20:54:33.068353 accept_connection 3 returned 0 20:54:33.068363 Read 93 bytes 20:54:33.068371 Process 93 bytes request 20:54:33.068381 Got request: GET /verifiedserver HTTP/1.1 20:54:33.068388 Are-we-friendly question received 20:54:33.068404 Wrote request (93 bytes) input to log/12/server.input 20:54:33.068415 Identifying ourselves as friends 20:54:33.068452 Response sent (57 bytes) and written to log/12/server.response 20:54:33.068459 special request received, no persistency 20:54:33.068465 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind87 ==109977== ==109977== Process terminating with default action of signal 4 (SIGILL) ==109977== Illegal opcode at address 0x4003082 ==109977== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109977== by 0x4003082: main (tool_main.c:243) === End of file valgrind87 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:39141/[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 commands.log ../libtool --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:39141/[860001-860003]" -o "log/7/dumpit#1.dump" > log/7/stdout86 2> log/7/stderr86 === End of file commands.log === Start of file http_server.log 20:54:33.019787 ====> Client connect 20:54:33.019819 accept_connection 3 returned 4 20:54:33.019831 accept_connection 3 returned 0 20:54:33.019842 Read 93 bytes 20:54:33.019849 Process 93 bytes request 20:54:33.019863 Got request: GET /verifiedserver HTTP/1.1 20:54:33.019870 Are-we-friendly question received 20:54:33.019887 Wrote request (93 bytes) input to log/7/server.input 20:54:33.019901 Identifying ourselves as friends 20:54:33.019946 Response sent (57 bytes) and written to log/7/server.response 20:54:33.019954 special request received, no persistency 20:54:33.019960 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind86 ==109867== ==109867== Process terminating with default action of signal 4 (SIGILL) ==109867== Illegal opcode at address 0x4003082 ==109867== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==109867== by 0x4003082: main (tool_main.c:243) === 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/24/valgrind88 ../src/curl -q --output log/24/curl88.out --include --trace-ascii log/24/trace88 --trace-config all --trace-time http://127.0.0.1:45957/88 -T log/24/put88 -u testuser:testpass --digest > log/24/stdout88 2> log/24/stderr88 88: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 88 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind88 ../src/curl -q --output log/24/curl88.out --include --trace-ascii log/24/trace88 --trace-config all --trace-time http://127.0.0.1:45957/88 -T log/24/put88 -u testuser:testpass --digest > log/24/stdout88 2> log/24/stderr88 === End of file commands.log === Start of file http_server.log 20:54:33.075499 ====> Client connect 20:54:33.075530 accept_connection 3 returned 4 20:54:33.075547 accept_connection 3 returned 0 20:54:33.075560 Read 93 bytes 20:54:33.075569 Process 93 bytes request 20:54:33.075580 Got request: GET /verifiedserver HTTP/1.1 20:54:33.075589 Are-we-friendly question received 20:54:33.075613 Wrote request (93 bytes) input to log/24/server.input 20:54:33.075628 Identifying ourselves as friends 20:54:33.075682 Response sent (57 bytes) and written to log/24/server.response 20:54:33.075691 special request received, no persistency 20:54:33.075699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === End of file http_verify.out === Start of file put88 This is data we upload with PUT a second line line three foCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-config all --trace-time http://127.0.0.1:46549/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:44239/3 > log/22/stdout3 2> log/22/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/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-config all --trace-time http://127.0.0.1:33409/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 CMD (33792): ../libtool --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/valgrind89 ../src/curl -q --output log/5/curl89.out --include --trace-ascii log/5/trace89 --trace-config all --trace-time http://127.0.0.1:33725/89 -u testuser:testpass --ntlm -L > log/5/stdout89 2> log/5/stderr89 ur 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind88 ==110003== ==110003== Process terminating with default action of signal 4 (SIGILL) ==110003== Illegal opcode at address 0x4003082 ==110003== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110003== by 0x4003082: main (tool_main.c:243) === End of file valgrind88 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_server.pid" --logfile "log/19/http_server.log" --logdir "log/19" --portfile log/19/server/http_server.port --config log/19/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104799 port 46549 * pid http => 104799 104799 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/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-config all --trace-time http://127.0.0.1:46549/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 6: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 6 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-config all --trace-time http://127.0.0.1:46549/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 === End of file commands.log === Start of file http_server.log 20:54:21.981187 Running HTTP IPv4 version on port 46549 20:54:21.981254 Wrote pid 104799 to log/19/server/http_server.pid 20:54:21.981283 Wrote port 46549 to log/19/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 6 === End of file server.cmd === Start of file valgrind6 ==104948== ==104948== Process terminating with default action of signal 4 (SIGILL) ==104948== Illegal opcode at address 0x4003082 ==104948== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104948== by 0x4003082: main (tool_main.c:243) === 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/22/server/http_server.pid" --logfile "log/22/http_server.log" --logdir "log/22" --portfile log/22/server/http_server.port --config log/22/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104801 port 44239 * pid http => 104801 104801 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/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:44239/3 > log/22/stdout3 2> log/22/stderr3 3: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 3 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:44239/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 20:54:21.981606 Running HTTP IPv4 version on port 44239 20:54:21.981674 Wrote pid 104801 to log/22/server/http_server.pid 20:54:21.981857 Wrote port 44239 to log/22/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 3 === End of file server.cmd === Start of file valgrind3 ==104934== ==104934== Process terminating with default action of signal 4 (SIGILL) ==104934== Illegal opcode at address 0x4003082 ==104934== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104934== by 0x4003082: main (tool_main.c:243) === 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/16/server/http_server.pid" --logfile "log/16/http_server.log" --logdir "log/16" --portfile log/16/server/http_server.port --config log/16/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104803 port 33409 * pid http => 104803 104803 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/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-config all --trace-time http://127.0.0.1:33409/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 9: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 9 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-config all --trace-time http://127.0.0.1:33409/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 === End of file commands.log === Start of file http_server.log 20:54:21.981122 Running HTTP IPv4 version on port 33409 20:54:21.981194 Wrote pid 104803 to log/16/server/http_server.pid 20:54:21.981228 Wrote port 33409 to log/16/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 9 === End of file server.cmd === Start of file test9.txt foo- This is a moo- bar === End of file test9.txt === Start of file valgrind9 ==104972== ==104972== Process terminating with default action of signal 4 (SIGILL) ==104972== Illegal opcode at address 0x4003082 ==104972== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104972== by 0x4003082: main (tool_main.c:243) === End of file valgrind9 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/5/valgrind89 ../src/curl -q --output log/5/curl89.out --include --trace-ascii log/5/trace89 --trace-config all --trace-time http://127.0.0.1:33725/89 -u testuser:testpass --ntlm -L > log/5/stdout89 2> log/5/stderr89 89: 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 89 === Start of file commands.log ../libtool --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/valgrind89 ../src/curl -q --output log/5/curl89.out --include --trace-ascii log/5/trace89 --trace-config all --trace-time http://127.0.0.1:33725/89 -u testuser:testpass --ntlm CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind92 ../src/curl -q --output log/21/curl92.out --include --trace-ascii log/21/trace92 --trace-config all --trace-time http://127.0.0.1:36793/want/92 -C 87 > log/21/stdout92 2> log/21/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/3/valgrind93 ../src/curl -q --output log/3/curl93.out --include --trace-ascii log/3/trace93 --trace-config all --trace-time http://127.0.0.1:33171/93 -x 127.0.0.1:33171 > log/3/stdout93 2> log/3/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/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:35791/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/1/valgrind98 ../src/curl -q --output log/1/curl98.out --include --trace-ascii log/1/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42503/98 log/1/stdout98 2> log/1/stderr98 -L > log/5/stdout89 2> log/5/stderr89 === End of file commands.log === Start of file http_server.log 20:54:33.280808 ====> Client connect 20:54:33.280832 accept_connection 3 returned 4 20:54:33.280844 accept_connection 3 returned 0 20:54:33.280854 Read 93 bytes 20:54:33.280861 Process 93 bytes request 20:54:33.280871 Got request: GET /verifiedserver HTTP/1.1 20:54:33.280878 Are-we-friendly question received 20:54:33.280895 Wrote request (93 bytes) input to log/5/server.input 20:54:33.280906 Identifying ourselves as friends 20:54:33.281008 Response sent (57 bytes) and written to log/5/server.response 20:54:33.281019 special request received, no persistency 20:54:33.281027 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind89 ==110098== ==110098== Process terminating with default action of signal 4 (SIGILL) ==110098== Illegal opcode at address 0x4003082 ==110098== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110098== by 0x4003082: main (tool_main.c:243) === End of file valgrind89 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/21/valgrind92 ../src/curl -q --output log/21/curl92.out --include --trace-ascii log/21/trace92 --trace-config all --trace-time http://127.0.0.1:36793/want/92 -C 87 > log/21/stdout92 2> log/21/stderr92 92: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 92 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind92 ../src/curl -q --output log/21/curl92.out --include --trace-ascii log/21/trace92 --trace-config all --trace-time http://127.0.0.1:36793/want/92 -C 87 > log/21/stdout92 2> log/21/stderr92 === End of file commands.log === Start of file http_server.log 20:54:33.345285 ====> Client connect 20:54:33.345317 accept_connection 3 returned 4 20:54:33.345334 accept_connection 3 returned 0 20:54:33.345347 Read 93 bytes 20:54:33.345358 Process 93 bytes request 20:54:33.345370 Got request: GET /verifiedserver HTTP/1.1 20:54:33.345379 Are-we-friendly question received 20:54:33.345404 Wrote request (93 bytes) input to log/21/server.input 20:54:33.345420 Identifying ourselves as friends 20:54:33.345473 Response sent (57 bytes) and written to log/21/server.response 20:54:33.345483 special request received, no persistency 20:54:33.345492 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind92 ==110276== ==110276== Process terminating with default action of signal 4 (SIGILL) ==110276== Illegal opcode at address 0x4003082 ==110276== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110276== by 0x4003082: main (tool_main.c:243) === End of file valgrind92 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/3/valgrind93 ../src/curl -q --output log/3/curl93.out --include --trace-ascii log/3/trace93 --trace-config all --trace-time http://127.0.0.1:33171/93 -x 127.0.0.1:33171 > log/3/stdout93 2> log/3/stderr93 93: 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 93 === Start of file commands.log ../libtool --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/valgrind93 ../src/curl -q --output log/3/curl93.out --include --trace-ascii log/3/trace93 --trace-config all --trace-time http://127.0.0.1:33171/93 -x 127.0.0.1:33171 > log/3/stdout93 2> log/3/stderr93 === End of file commands.log === Start of file http_server.log 20:54:33.346119 ====> Client connect 20:54:33.346151 accept_connection 3 returned 4 20:54:33.346166 accept_connection 3 returned 0 20:54:33.346177 Read 93 bytes 20:54:33.346187 Process 93 bytes request 20:54:33.346197 Got request: GET /verifiedserver HTTP/1.1 20:54:33.346207 Are-we-friendly question received 20:54:33.346232 Wrote request (93 bytes) input to log/3/server.input 20:54:33.346247 Identifying ourselves as friends 20:54:33.346315 Response sent (57 bytes) and written to log/3/server.response 20:54:33.346323 special request received, no persistency 20:54:33.346330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind93 ==110280== ==110280== Process terminating with default action of signal 4 (SIGILL) ==110280== Illegal opcode at address 0x4003082 ==110280== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110280== by 0x4003082: main (tool_main.c:243) === End of file valgrind93 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:35791/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 commands.log ../libtool --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-confCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind91 ../src/curl -q --output log/17/curl91.out --include --trace-ascii log/17/trace91 --trace-config all --trace-time http://127.0.0.1:35207/91 --anyauth -u mydomain\\myself:secret > log/17/stdout91 2> log/17/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/4/valgrind97 ../src/curl -q --output log/4/curl97.out --include --trace-ascii log/4/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:35779/97 > log/4/stdout97 2> log/4/stderr97 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind94 ../src/curl -q --output log/14/curl94.out --include --trace-ascii log/14/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:35661 > log/14/stdout94 2> log/14/stderr94 ig all --trace-time http://127.0.0.1:35791/90 -u testuser:testpass --anyauth -L > log/8/stdout90 2> log/8/stderr90 === End of file commands.log === Start of file http_server.log 20:54:33.341556 ====> Client connect 20:54:33.341581 accept_connection 3 returned 4 20:54:33.341593 accept_connection 3 returned 0 20:54:33.341605 Read 93 bytes 20:54:33.341613 Process 93 bytes request 20:54:33.341625 Got request: GET /verifiedserver HTTP/1.1 20:54:33.341632 Are-we-friendly question received 20:54:33.341649 Wrote request (93 bytes) input to log/8/server.input 20:54:33.341661 Identifying ourselves as friends 20:54:33.341706 Response sent (57 bytes) and written to log/8/server.response 20:54:33.341714 special request received, no persistency 20:54:33.341720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind90 ==110311== ==110311== Process terminating with default action of signal 4 (SIGILL) ==110311== Illegal opcode at address 0x4003082 ==110311== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110311== by 0x4003082: main (tool_main.c:243) === End of file valgrind90 test 0098...[HTTP PUT from stdin with set size, disabling 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/valgrind98 ../src/curl -q --output log/1/curl98.out --include --trace-ascii log/1/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42503/98 log/1/stdout98 2> log/1/stderr98 98: 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 98 === Start of file commands.log ../libtool --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/valgrind98 ../src/curl -q --output log/1/curl98.out --include --trace-ascii log/1/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42503/98 log/1/stdout98 2> log/1/stderr98 === End of file commands.log === Start of file http_server.log 20:54:33.346314 ====> Client connect 20:54:33.346344 accept_connection 3 returned 4 20:54:33.346360 accept_connection 3 returned 0 20:54:33.346374 Read 93 bytes 20:54:33.346385 Process 93 bytes request 20:54:33.346397 Got request: GET /verifiedserver HTTP/1.1 20:54:33.346406 Are-we-friendly question received 20:54:33.346428 Wrote request (93 bytes) input to log/1/server.input 20:54:33.346446 Identifying ourselves as friends 20:54:33.346509 Response sent (57 bytes) and written to log/1/server.response 20:54:33.346519 special request received, no persistency 20:54:33.346527 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==110274== ==110274== Process terminating with default action of signal 4 (SIGILL) ==110274== Illegal opcode at address 0x4003082 ==110274== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110274== by 0x4003082: main (tool_main.c:243) === End of file valgrind98 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/17/valgrind91 ../src/curl -q --output log/17/curl91.out --include --trace-ascii log/17/trace91 --trace-config all --trace-time http://127.0.0.1:35207/91 --anyauth -u mydomain\\myself:secret > log/17/stdout91 2> log/17/stderr91 91: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 91 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind91 ../src/curl -q --output log/17/curl91.out --include --trace-ascii log/17/trace91 --trace-config all --trace-time http://127.0.0.1:35207/91 --anyauth -u mydomain\\myself:secret > log/17/stdout91 2> log/17/stderr91 === End of file commands.log === Start of file http_server.log 20:54:33.344973 ====> Client connect 20:54:33.345004 accept_connection 3 returned 4 20:54:33.345020 accept_connection 3 returned 0 20:54:33.345033 Read 93 bytes 20:54:33.345043 Process 93 bytes request 20:54:33.345055 Got request: GET /verifiedserver HTTP/1.1 20:54:33.345064 Are-we-friendly question received 20:54:33.345084 Wrote request (93 bytes) input to log/17/server.input 20:54:33.345099 Identifying ourselves as friends 20:54:33.345158 Response sent (57 bytes) and written to log/17/server.response 20:54:33.345169 special request received, no persistency 20:54:33.345180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind91 ==110282== ==110282== Process terminating with default action of signal 4 (SIGILL) ==110282== Illegal opcode at address 0x4003082 ==110282== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110282== by 0x4003082: main (tool_main.c:243) === End of file valgrind91 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/4/valgrind97 ../src/curl -q --output log/4/curl97.out --include --trace-ascii log/4/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:35779/97 > log/4/stdout97 2> log/4/stderr97 97: protocol FAILED! There was no content at all in the file log/4/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/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:46863 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/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/23/valgrind99 ../src/curl -q --output log/23/curl99.out --include --trace-ascii log/23/trace99 --trace-config all --trace-time http://127.0.0.1:38539/99 -C 9999999999 > log/23/stdout99 2> log/23/stderr99 f files in the log/4/ dir after test 97 === Start of file commands.log ../libtool --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/valgrind97 ../src/curl -q --output log/4/curl97.out --include --trace-ascii log/4/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:35779/97 > log/4/stdout97 2> log/4/stderr97 === End of file commands.log === Start of file http_server.log 20:54:33.347904 ====> Client connect 20:54:33.347928 accept_connection 3 returned 4 20:54:33.347941 accept_connection 3 returned 0 20:54:33.347951 Read 93 bytes 20:54:33.347958 Process 93 bytes request 20:54:33.347967 Got request: GET /verifiedserver HTTP/1.1 20:54:33.347974 Are-we-friendly question received 20:54:33.348008 Wrote request (93 bytes) input to log/4/server.input 20:54:33.348022 Identifying ourselves as friends 20:54:33.348120 Response sent (57 bytes) and written to log/4/server.response 20:54:33.348132 special request received, no persistency 20:54:33.348140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind97 ==110278== ==110278== Process terminating with default action of signal 4 (SIGILL) ==110278== Illegal opcode at address 0x4003082 ==110278== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110278== by 0x4003082: main (tool_main.c:243) === End of file valgrind97 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/14/valgrind94 ../src/curl -q --output log/14/curl94.out --include --trace-ascii log/14/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:35661 > log/14/stdout94 2> log/14/stderr94 94: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 94 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind94 ../src/curl -q --output log/14/curl94.out --include --trace-ascii log/14/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:35661 > log/14/stdout94 2> log/14/stderr94 === End of file commands.log === Start of file http_server.log 20:54:33.345776 ====> Client connect 20:54:33.345804 accept_connection 3 returned 4 20:54:33.345819 accept_connection 3 returned 0 20:54:33.345832 Read 93 bytes 20:54:33.345841 Process 93 bytes request 20:54:33.345851 Got request: GET /verifiedserver HTTP/1.1 20:54:33.345860 Are-we-friendly question received 20:54:33.345882 Wrote request (93 bytes) input to log/14/server.input 20:54:33.345897 Identifying ourselves as friends 20:54:33.345947 Response sent (57 bytes) and written to log/14/server.response 20:54:33.345957 special request received, no persistency 20:54:33.345965 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind94 ==110277== ==110277== Process terminating with default action of signal 4 (SIGILL) ==110277== Illegal opcode at address 0x4003082 ==110277== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110277== by 0x4003082: main (tool_main.c:243) === End of file valgrind94 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: HTTP server is on PID 104813 port 46863 * pid http => 104813 104813 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/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:46863 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 16: 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 16 === Start of file commands.log ../libtool --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/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:46863 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 === End of file commands.log === Start of file http_server.log 20:54:21.982546 Running HTTP IPv4 version on port 46863 20:54:21.982602 Wrote pid 104813 to log/9/server/http_server.pid 20:54:21.982639 Wrote port 46863 to log/9/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 16 === End of file server.cmd === Start of file valgrind16 ==104971== ==104971== Process terminating with default action of signal 4 (SIGILL) ==104971== Illegal opcode at address 0x4003082 ==104971== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104971== by 0x4003082: main (tool_main.c:243) === End of file valgrind16 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/23/valgrind99 ../src/curl -q --output log/23/curl99.out --include --trace-ascii log/23/trace99 --trace-config all --trace-time http://127.0.0.1:38539/99 -C 9999999999 > log/23/stdout99 2> log/23/stderr99 99: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 99 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --CMD (33792): ../libtool --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/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-config all --trace-time http://127.0.0.1:43831/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind99 ../src/curl -q --output log/23/curl99.out --include --trace-ascii log/23/trace99 --trace-config all --trace-time http://127.0.0.1:38539/99 -C 9999999999 > log/23/stdout99 2> log/23/stderr99 === End of file commands.log === Start of file http_server.log 20:54:33.507962 ====> Client connect 20:54:33.507987 accept_connection 3 returned 4 20:54:33.508020 accept_connection 3 returned 0 20:54:33.508035 Read 93 bytes 20:54:33.508042 Process 93 bytes request 20:54:33.508052 Got request: GET /verifiedserver HTTP/1.1 20:54:33.508066 Are-we-friendly question received 20:54:33.508119 Wrote request (93 bytes) input to log/23/server.input 20:54:33.508133 Identifying ourselves as friends 20:54:33.508177 Response sent (57 bytes) and written to log/23/server.response 20:54:33.508184 special request received, no persistency 20:54:33.508191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind99 ==110644== ==110644== Process terminating with default action of signal 4 (SIGILL) ==110644== Illegal opcode at address 0x4003082 ==110644== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110644== by 0x4003082: main (tool_main.c:243) === End of file valgrind99 CMD (33792): ../libtool --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/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-config all --trace-time htfp://127.0.0.1:43815/none.htfml > log/2/stdout23 2> log/2/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/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-config all --trace-time http://127.0.0.1:44987/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 CMD (33792): ../libtool --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/valgrind80 ../src/curl -q --output log/11/curl80.out --include --trace-ascii log/11/trace80 --trace-config all --trace-time http://test.80:44265/we/want/that/page/80 -p --proxy1.0 127.0.0.1:39727 --user iam:myself --proxy-user youare:yourself -A "" > log/11/stdout80 2> log/11/stderr80 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: HTTP server is on PID 104802 port 43831 * pid http => 104802 104802 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/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-config all --trace-time http://127.0.0.1:43831/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 15: stdout FAILED: --- log/10/check-expected 2025-06-04 20:54:33.873031375 +0000 +++ log/10/check-generated 2025-06-04 20:54:33.873031375 +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:43831/want/15 200 26[LF] == Contents of files in the log/10/ 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:43831/want/15 200 26[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-config all --trace-time http://127.0.0.1:43831/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 === End of file commands.log === Start of file http_server.log 20:54:21.981616 Running HTTP IPv4 version on port 43831 20:54:21.981701 Wrote pid 104802 to log/10/server/http_server.pid 20:54:21.981802 Wrote port 43831 to log/10/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 15 === End of file server.cmd === Start of file valgrind15 ==104942== ==104942== Process terminating with default action of signal 4 (SIGILL) ==104942== Illegal opcode at address 0x4003082 ==104942== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104942== by 0x4003082: main (tool_main.c:243) === End of file valgrind15 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: HTTP server is on PID 104815 port 43815 * pid http => 104815 104815 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/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-config all --trace-time htfp://127.0.0.1:43815/none.htfml > log/2/stdout23 2> log/2/stderr23 curl returned 132, when expecting 1 23: exit FAILED == Contents of files in the log/2/ dir after test 23 === Start of file commands.log ../libtool --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/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-config all --trace-time htfp://127.0.0.1:43815/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 20:54:21.983508 Running HTTP IPv4 version on port 43815 20:54:21.983576 Wrote pid 104815 to log/2/server/http_server.pid 20:54:21.983600 Wrote port 43815 to log/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 23 === End of file server.cmd === Start of file valgrind23 ==104951== ==104951== Process terminating with default action of signal 4 (SIGILL) ==104951== Illegal opcode at address 0x4003082 ==104951== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104951== by 0x4003082: main (tool_main.c:243) === End of file valgrind23 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_server.pid" --logfile "log/13/http_server.log" --logdir "log/13" --portfile log/13/server/http_server.port --config log/13/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104807 port 44987 * pid http => 104807 104807 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/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-config all --trace-time http://127.0.0.1:44987/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 12: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 12 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-config all --trace-time http://127.0.0.1:44987/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 20:54:21.978540 Running HTTP IPv4 version on port 44987 20:54:21.978613 Wrote pid 104807 to log/13/server/http_server.pid 20:54:21.978644 Wrote port 44987 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 12 === End of file server.cmd === Start of file valgrind12 ==104938== ==104938== Process terminating with default action of signal 4 (SIGILL) ==104938== Illegal opcode at address 0x4003082 ==104938== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104938== by 0x4003082: main (tool_main.c:243) === End of file valgrind12 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: HTTP2 server is on PID 109510 port 39727 * pid http-proxy => 109510 109510 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/11/valgrind80 ../src/curl -q --output log/11/curl80.out --include --trace-ascii log/11/trace80 --trace-config all --trace-time http://test.80:44265/we/want/that/page/80 -p --proxy1.0 127.0.0.1:39727 --user iam:myself --proxy-user youare:yourself -A "" > log/11/stdout80 2> log/11/stderr80 80: 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 80 === Start of file commands.log ../libtool --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/valgrind80 ../src/curl -q --output log/11/curl80.out --include --trace-ascii log/11/trace80 --trace-config all --trace-time http://test.80:44265/we/want/that/pageCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind83 ../src/curl -q --output log/15/curl83.out --include --trace-ascii log/15/trace83 --trace-config all --trace-time http://test.83:39051/we/want/that/page/83 -p -x 127.0.0.1:46151 --user 'iam:my:;self' > log/15/stdout83 2> log/15/stderr83 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-config all --trace-time http://127.0.0.1:41293/we/want/that/page/5#5 -x 127.0.0.1:41293 > log/20/stdout5 2> log/20/stderr5 CMD (33792): ../libtool --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/valgrind95 ../src/curl -q --output log/6/curl95.out --include --trace-ascii log/6/trace95 --trace-config all --trace-time http://test.95:38475/we/want/that/page/95 -p -x 127.0.0.1:39469 -d "datatopost=ohthatsfunyesyes" > log/6/stdout95 2> log/6/stderr95 /80 -p --proxy1.0 127.0.0.1:39727 --user iam:myself --proxy-user youare:yourself -A "" > log/11/stdout80 2> log/11/stderr80 === End of file commands.log === Start of file http2_server.log 20:54:32.916677 Run as proxy, CONNECT to host 127.0.0.1 20:54:32.916757 Running HTTP IPv4 version on port 39727 20:54:32.916787 Wrote pid 109510 to log/11/server/http2_server.pid 20:54:32.916807 Wrote port 39727 to log/11/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 20:54:32.897667 ====> Client connect 20:54:32.897690 accept_connection 3 returned 4 20:54:32.897704 accept_connection 3 returned 0 20:54:32.897715 Read 93 bytes 20:54:32.897722 Process 93 bytes request 20:54:32.897731 Got request: GET /verifiedserver HTTP/1.1 20:54:32.897738 Are-we-friendly question received 20:54:32.897756 Wrote request (93 bytes) input to log/11/server.input 20:54:32.897768 Identifying ourselves as friends 20:54:32.897807 Response sent (57 bytes) and written to log/11/server.response 20:54:32.897815 special request received, no persistency 20:54:32.897822 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === End of file http_verify.out === Start of file server.cmd Testnum 80 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind80 ==110720== ==110720== Process terminating with default action of signal 4 (SIGILL) ==110720== Illegal opcode at address 0x4003082 ==110720== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110720== by 0x4003082: main (tool_main.c:243) === End of file valgrind80 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/15/server/http2_server.pid" --logfile "log/15/http2_server.log" --logdir "log/15" --portfile log/15/server/http2_server.port --config log/15/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 109525 port 46151 * pid http-proxy => 109525 109525 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/15/valgrind83 ../src/curl -q --output log/15/curl83.out --include --trace-ascii log/15/trace83 --trace-config all --trace-time http://test.83:39051/we/want/that/page/83 -p -x 127.0.0.1:46151 --user 'iam:my:;self' > log/15/stdout83 2> log/15/stderr83 83: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 83 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind83 ../src/curl -q --output log/15/curl83.out --include --trace-ascii log/15/trace83 --trace-config all --trace-time http://test.83:39051/we/want/that/page/83 -p -x 127.0.0.1:46151 --user 'iam:my:;self' > log/15/stdout83 2> log/15/stderr83 === End of file commands.log === Start of file http2_server.log 20:54:32.922796 Run as proxy, CONNECT to host 127.0.0.1 20:54:32.922863 Running HTTP IPv4 version on port 46151 20:54:32.922898 Wrote pid 109525 to log/15/server/http2_server.pid 20:54:32.922921 Wrote port 46151 to log/15/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 20:54:32.901763 ====> Client connect 20:54:32.901786 accept_connection 3 returned 4 20:54:32.901799 accept_connection 3 returned 0 20:54:32.901809 Read 93 bytes 20:54:32.901817 Process 93 bytes request 20:54:32.901826 Got request: GET /verifiedserver HTTP/1.1 20:54:32.901833 Are-we-friendly question received 20:54:32.901850 Wrote request (93 bytes) input to log/15/server.input 20:54:32.901862 Identifying ourselves as friends 20:54:32.901900 Response sent (57 bytes) and written to log/15/server.response 20:54:32.901907 special request received, no persistency 20:54:32.901914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === End of file http_verify.out === Start of file server.cmd Testnum 83 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind83 ==110733== ==110733== Process terminating with default action of signal 4 (SIGILL) ==110733== Illegal opcode at address 0x4003082 ==110733== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110733== by 0x4003082: main (tool_main.c:243) === End of file valgrind83 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_server.pid" --logfile "log/20/http_server.log" --logdir "log/20" --portfile log/20/server/http_server.port --config log/20/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104795 port 41293 * pid http => 104795 104795 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/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-config all --trace-time http://127.0.0.1:41293/we/want/that/page/5#5 -x 127.0.0.1:41293 > log/20/stdout5 2> log/20/stderr5 5: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 5 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-config all --trace-time http://127.0.0.1:41293/we/want/that/page/5#5 -x 127.0.0.1:41293 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 20:54:21.981132 Running HTTP IPv4 version on port 41293 20:54:21.981204 Wrote pid 104795 to log/20/server/http_server.pid 20:54:21.981250 Wrote port 41293 to log/20/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 5 === End of file server.cmd === Start of file valgrind5 ==104965== ==104965== Process terminating with default action of signal 4 (SIGILL) ==104965== Illegal opcode at address 0x4003082 ==104965== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104965== by 0x4003082: main (tool_main.c:243) === End of file valgrind5 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/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/12/valgrind100 ../src/curl -q --output log/12/curl100.out --include --trace-ascii log/12/trace100 --trace-config all --trace-time ftp://127.0.0.1:38967/test-100/ > log/12/stdout100 2> log/12/stderr100 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind101 ../src/curl -q --output log/24/curl101.out --include --trace-ascii log/24/trace101 --trace-config all --trace-time ftp://127.0.0.1:34045/ -P 127.0.0.1 > log/24/stdout101 2> log/24/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/7/valgrind102 ../src/curl -q --output log/7/curl102.out --include --trace-ascii log/7/trace102 --trace-config all --trace-time ftp://127.0.0.1:40643/102 > log/7/stdout102 2> log/7/stderr102 /tests" RUN: HTTP2 server is on PID 110268 port 39469 * pid http-proxy => 110268 110268 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/6/valgrind95 ../src/curl -q --output log/6/curl95.out --include --trace-ascii log/6/trace95 --trace-config all --trace-time http://test.95:38475/we/want/that/page/95 -p -x 127.0.0.1:39469 -d "datatopost=ohthatsfunyesyes" > log/6/stdout95 2> log/6/stderr95 95: 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 95 === Start of file commands.log ../libtool --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/valgrind95 ../src/curl -q --output log/6/curl95.out --include --trace-ascii log/6/trace95 --trace-config all --trace-time http://test.95:38475/we/want/that/page/95 -p -x 127.0.0.1:39469 -d "datatopost=ohthatsfunyesyes" > log/6/stdout95 2> log/6/stderr95 === End of file commands.log === Start of file http2_server.log 20:54:33.367502 Run as proxy, CONNECT to host 127.0.0.1 20:54:33.367607 Running HTTP IPv4 version on port 39469 20:54:33.367642 Wrote pid 110268 to log/6/server/http2_server.pid 20:54:33.367667 Wrote port 39469 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 20:54:33.347287 ====> Client connect 20:54:33.347312 accept_connection 3 returned 4 20:54:33.347325 accept_connection 3 returned 0 20:54:33.347335 Read 93 bytes 20:54:33.347343 Process 93 bytes request 20:54:33.347351 Got request: GET /verifiedserver HTTP/1.1 20:54:33.347358 Are-we-friendly question received 20:54:33.347375 Wrote request (93 bytes) input to log/6/server.input 20:54:33.347387 Identifying ourselves as friends 20:54:33.347427 Response sent (57 bytes) and written to log/6/server.response 20:54:33.347435 special request received, no persistency 20:54:33.347441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === End of file http_verify.out === Start of file server.cmd Testnum 95 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind95 ==110838== ==110838== Process terminating with default action of signal 4 (SIGILL) ==110838== Illegal opcode at address 0x4003082 ==110838== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110838== by 0x4003082: main (tool_main.c:243) === End of file valgrind95 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 38967 (log/12/server/ftp_server.port) RUN: FTP server is PID 110628 port 38967 * pid ftp => 110628 110628 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/12/valgrind100 ../src/curl -q --output log/12/curl100.out --include --trace-ascii log/12/trace100 --trace-config all --trace-time ftp://127.0.0.1:38967/test-100/ > log/12/stdout100 2> log/12/stderr100 100: 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 100 === Start of file commands.log ../libtool --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/valgrind100 ../src/curl -q --output log/12/curl100.out --include --trace-ascii log/12/trace100 --trace-config all --trace-time ftp://127.0.0.1:38967/test-100/ > log/12/stdout100 2> log/12/stderr100 === End of file commands.log === Start of file ftp_server.log 20:54:33.302886 FTP server listens on port IPv4/38967 20:54:33.302948 logged pid 110628 in log/12/server/ftp_server.pid 20:54:33.302966 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.524145 Running IPv4 version 20:54:33.524269 Listening on port 38967 20:54:33.524298 Wrote pid 110648 to log/12/server/ftp_sockctrl.pid 20:54:33.524319 Wrote port 38967 to log/12/server/ftp_server.port 20:54:33.524333 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 100 === End of file server.cmd === Start of file valgrind100 ==110893== ==110893== Process terminating with default action of signal 4 (SIGILL) ==110893== Illegal opcode at address 0x4003082 ==110893== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110893== by 0x4003082: main (tool_main.c:243) === End of file valgrind100 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_server.pid" --logfile "log/24/ftp_server.log" --logdir "log/24" --portfile "log/24/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34045 (log/24/server/ftp_server.port) RUN: FTP server is PID 110632 port 34045 * pid ftp => 110632 110632 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/24/valgrind101 ../src/curl -q --output log/24/curl101.out --include --trace-ascii log/24/trace101 --trace-config all --trace-time ftp://127.0.0.1:34045/ -P 127.0.0.1 > log/24/stdout101 2> log/24/stderr101 101: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind101 ../src/curl -q --output log/24/curl101.out --include --trace-ascii log/24/trace101 --trace-config all --trace-time ftp://127.0.0.1:34045/ -P 127.0.0.1 > log/24/stdout101 2> log/24/stderr101 === End of file commands.log === Start of file ftp_server.log 20:54:33.304201 FTP server listens on port IPv4/34045 20:54:33.304274 logged pid 110632 in log/24/server/ftp_server.pid 20:54:33.304294 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.525421 Running IPv4 version 20:54:33.525477 Listening on port 34045 20:54:33.525510 Wrote pid 110651 to log/24/server/ftp_sockctrl.pid 20:54:33.525537 Wrote port 34045 to log/24/server/ftp_server.port 20:54:33.525645 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 101 === End of file server.cmd === Start of file valgrind101 ==110894== ==110894== Process terminating with default action of signal 4 (SIGILL) ==110894== Illegal opcode at address 0x4003082 ==110894== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110894== by 0x4003082: main (tool_main.c:243) === End of file valgrind101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_server.pid" --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/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-config all --trace-time http://127.0.0.1:34637/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/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/19/valgrind103 ../src/curl -q --output log/19/curl103.out --include --trace-ascii log/19/trace103 --trace-config all --trace-time ftp://127.0.0.1:44763/a/path/103 -P - > log/19/stdout103 2> log/19/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/16/valgrind105 ../src/curl -q --output log/16/curl105.out --include --trace-ascii log/16/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:35865/105 --use-ascii > log/16/stdout105 2> log/16/stderr105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind104 ../src/curl -q --output log/22/curl104.out --include --trace-ascii log/22/trace104 --trace-config all --trace-time ftp://127.0.0.1:38423/a/path/104 --head > log/22/stdout104 2> log/22/stderr104 ogfile "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 40643 (log/7/server/ftp_server.port) RUN: FTP server is PID 110634 port 40643 * pid ftp => 110634 110634 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/7/valgrind102 ../src/curl -q --output log/7/curl102.out --include --trace-ascii log/7/trace102 --trace-config all --trace-time ftp://127.0.0.1:40643/102 > log/7/stdout102 2> log/7/stderr102 102: 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 102 === Start of file commands.log ../libtool --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/valgrind102 ../src/curl -q --output log/7/curl102.out --include --trace-ascii log/7/trace102 --trace-config all --trace-time ftp://127.0.0.1:40643/102 > log/7/stdout102 2> log/7/stderr102 === End of file commands.log === Start of file ftp_server.log 20:54:33.303171 FTP server listens on port IPv4/40643 20:54:33.303258 logged pid 110634 in log/7/server/ftp_server.pid 20:54:33.303281 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.524318 Running IPv4 version 20:54:33.524386 Listening on port 40643 20:54:33.524427 Wrote pid 110647 to log/7/server/ftp_sockctrl.pid 20:54:33.524455 Wrote port 40643 to log/7/server/ftp_server.port 20:54:33.524596 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 102 === End of file server.cmd === Start of file valgrind102 ==110895== ==110895== Process terminating with default action of signal 4 (SIGILL) ==110895== Illegal opcode at address 0x4003082 ==110895== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110895== by 0x4003082: main (tool_main.c:243) === End of file valgrind102 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_server.pid" --logfile "log/18/http_server.log" --logdir "log/18" --portfile log/18/server/http_server.port --config log/18/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 104798 port 34637 * pid http => 104798 104798 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/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-config all --trace-time http://127.0.0.1:34637/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 7: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 7 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-config all --trace-time http://127.0.0.1:34637/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 === End of file commands.log === Start of file http_server.log 20:54:21.981666 Running HTTP IPv4 version on port 34637 20:54:21.981908 Wrote pid 104798 to log/18/server/http_server.pid 20:54:21.981938 Wrote port 34637 to log/18/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 7 === End of file server.cmd === Start of file valgrind7 ==104952== ==104952== Process terminating with default action of signal 4 (SIGILL) ==104952== Illegal opcode at address 0x4003082 ==104952== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==104952== by 0x4003082: main (tool_main.c:243) === End of file valgrind7 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/ftp_server.pid" --logfile "log/19/ftp_server.log" --logdir "log/19" --portfile "log/19/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44763 (log/19/server/ftp_server.port) RUN: FTP server is PID 110642 port 44763 * pid ftp => 110642 110642 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/19/valgrind103 ../src/curl -q --output log/19/curl103.out --include --trace-ascii log/19/trace103 --trace-config all --trace-time ftp://127.0.0.1:44763/a/path/103 -P - > log/19/stdout103 2> log/19/stderr103 103: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind103 ../src/curl -q --output log/19/curl103.out --include --trace-ascii log/19/trace103 --trace-config all --trace-time ftp://127.0.0.1:44763/a/path/103 -P - > log/19/stdout103 2> log/19/stderr103 === End of file commands.log === Start of file ftp_server.log 20:54:33.320244 FTP server listens on port IPv4/44763 20:54:33.320323 logged pid 110642 in log/19/server/ftp_server.pid 20:54:33.320339 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.541453 Running IPv4 version 20:54:33.541518 Listening on port 44763 20:54:33.541548 Wrote pid 110682 to log/19/server/ftp_sockctrl.pid 20:54:33.541569 Wrote port 44763 to log/19/server/ftp_server.port 20:54:33.541683 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 103 === End of file server.cmd === Start of file valgrind103 ==110984== ==110984== Process terminating with default action of signal 4 (SIGILL) ==110984== Illegal opcode at address 0x4003082 ==110984== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==110984== by 0x4003082: main (tool_main.c:243) === End of file valgrind103 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/ftp_server.pid" --logfile "log/16/ftp_server.log" --logdir "log/16" --portfile "log/16/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35865 (log/16/server/ftp_server.port) RUN: FTP server is PID 110697 port 35865 * pid ftp => 110697 110697 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/16/valgrind105 ../src/curl -q --output log/16/curl105.out --include --trace-ascii log/16/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:35865/105 --use-ascii > log/16/stdout105 2> log/16/stderr105 105: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind105 ../src/curl -q --output log/16/curl105.out --include --trace-ascii log/16/trace105 --CMD (33792): ../libtool --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/valgrind106 ../src/curl -q --output log/5/curl106.out --include --trace-ascii log/5/trace106 --trace-config all --trace-time "ftp://127.0.0.1:45115//path%20with%20%20spaces//and%20things2/106;type=A" > log/5/stdout106 2> log/5/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/1/valgrind110 ../src/curl -q --output log/1/curl110.out --include --trace-ascii log/1/trace110 --trace-config all --trace-time ftp://127.0.0.1:33539/110 -C 20 > log/1/stdout110 2> log/1/stderr110 trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:35865/105 --use-ascii > log/16/stdout105 2> log/16/stderr105 === End of file commands.log === Start of file ftp_server.log 20:54:33.415641 FTP server listens on port IPv4/35865 20:54:33.415696 logged pid 110697 in log/16/server/ftp_server.pid 20:54:33.415712 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.636967 Running IPv4 version 20:54:33.637018 Listening on port 35865 20:54:33.637048 Wrote pid 110700 to log/16/server/ftp_sockctrl.pid 20:54:33.637069 Wrote port 35865 to log/16/server/ftp_server.port 20:54:33.637082 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 105 === End of file server.cmd === Start of file valgrind105 ==111135== ==111135== Process terminating with default action of signal 4 (SIGILL) ==111135== Illegal opcode at address 0x4003082 ==111135== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111135== by 0x4003082: main (tool_main.c:243) === End of file valgrind105 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/ftp_server.pid" --logfile "log/22/ftp_server.log" --logdir "log/22" --portfile "log/22/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38423 (log/22/server/ftp_server.port) RUN: FTP server is PID 110696 port 38423 * pid ftp => 110696 110696 test 0104...[FTP --head to get file size 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/22/valgrind104 ../src/curl -q --output log/22/curl104.out --include --trace-ascii log/22/trace104 --trace-config all --trace-time ftp://127.0.0.1:38423/a/path/104 --head > log/22/stdout104 2> log/22/stderr104 104: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind104 ../src/curl -q --output log/22/curl104.out --include --trace-ascii log/22/trace104 --trace-config all --trace-time ftp://127.0.0.1:38423/a/path/104 --head > log/22/stdout104 2> log/22/stderr104 === End of file commands.log === Start of file ftp_server.log 20:54:33.389920 FTP server listens on port IPv4/38423 20:54:33.389970 logged pid 110696 in log/22/server/ftp_server.pid 20:54:33.389985 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.611260 Running IPv4 version 20:54:33.611305 Listening on port 38423 20:54:33.611330 Wrote pid 110698 to log/22/server/ftp_sockctrl.pid 20:54:33.611355 Wrote port 38423 to log/22/server/ftp_server.port 20:54:33.611369 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 104 === End of file server.cmd === Start of file valgrind104 ==111084== ==111084== Process terminating with default action of signal 4 (SIGILL) ==111084== Illegal opcode at address 0x4003082 ==111084== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111084== by 0x4003082: main (tool_main.c:243) === End of file valgrind104 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 45115 (log/5/server/ftp_server.port) RUN: FTP server is PID 110701 port 45115 * pid ftp => 110701 110701 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/5/valgrind106 ../src/curl -q --output log/5/curl106.out --include --trace-ascii log/5/trace106 --trace-config all --trace-time "ftp://127.0.0.1:45115//path%20with%20%20spaces//and%20things2/106;type=A" > log/5/stdout106 2> log/5/stderr106 106: 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 106 === Start of file commands.log ../libtool --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/valgrind106 ../src/curl -q --output log/5/curl106.out --include --trace-ascii log/5/trace106 --trace-config all --trace-time "ftp://127.0.0.1:45115//path%20with%20%20spaces//and%20things2/106;type=A" > log/5/stdout106 2> log/5/stderr106 === End of file commands.log === Start of file ftp_server.log 20:54:33.566716 FTP server listens on port IPv4/45115 20:54:33.566778 logged pid 110701 in log/5/server/ftp_server.pid 20:54:33.566796 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.788034 Running IPv4 version 20:54:33.788089 Listening on port 45115 20:54:33.788120 Wrote pid 110709 to log/5/server/ftp_sockctrl.pid 20:54:33.788141 Wrote port 45115 to log/5/server/ftp_server.port 20:54:33.788157 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 106 === End of file server.cmd === Start of file valgrind106 ==111188== ==111188== Process terminating with default action of signal 4 (SIGILL) ==111188== Illegal opcode at address 0x4003082 ==111188== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111188== by 0x4003082: main (tool_main.c:243) === End of file valgrind106 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 33539 (log/1/server/ftp_server.port) RUN: FTP server is PID 110705 port 33539 * pid ftp => 110705 110705 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/1/valgrind110 ../src/curl -q --output log/1/curl110.out --include --trace-ascii log/1/trace110 --trace-config all --trace-time ftp://127.0.0.1:33539/110 -C 20 > log/1/stdout110 2> log/1/stderr110 110: 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 110 === Start of file commands.log ../libtool --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/valgrind110 ../src/curl -q --output log/1/curl110.out --include --trace-ascii log/1/trace110 --trace-config all --trace-time ftp://127.0.0.1:33539/110 -C 20 > log/1/stdout110 2> log/1/stderr110 === End of file commands.log === Start of file ftp_server.log 20:54:33.573241 FTP server listens on port IPv4/33539 20:54:33.573291 logged pid 110705 in log/1/server/ftp_server.pid 20:54:33.573305 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.794602 Running IPv4 version 20:54:33.794638 Listening on port 33539 20:54:33.794662 Wrote pid 110713 to log/1/server/ftp_sockctrl.pid 20:54:33.794679 Wrote port 33539 to log/1/server/ftp_server.port 20:54:33.794692 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 110 === End of file server.cmd === Start of file valgrind110 ==111223== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind113 ../src/curl -q --output log/14/curl113.out --include --trace-ascii log/14/trace113 --trace-config all --trace-time ftp://127.0.0.1:36539/113 > log/14/stdout113 2> log/14/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/21/valgrind107 ../src/curl -q --output log/21/curl107.out --include --trace-ascii log/21/trace107 --trace-config all --trace-time ftp://127.0.0.1:44075/107 -T log/21/test107.txt > log/21/stdout107 2> log/21/stderr107 CMD (33792): ../libtool --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/valgrind109 ../src/curl -q --output log/8/curl109.out --include --trace-ascii log/8/trace109 --trace-config all --trace-time ftp://127.0.0.1:39989/109 -T log/8/upload109 --append > log/8/stdout109 2> log/8/stderr109 CMD (33792): ../libtool --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/valgrind108 ../src/curl -q --output log/3/curl108.out --include --trace-ascii log/3/trace108 --trace-config all --trace-time ftp://127.0.0.1:39117/CWD/STOR/RETR/108 -T log/3/upload108 -P - > log/3/stdout108 2> log/3/stderr108 ==111223== Process terminating with default action of signal 4 (SIGILL) ==111223== Illegal opcode at address 0x4003082 ==111223== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111223== by 0x4003082: main (tool_main.c:243) === End of file valgrind110 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/ftp_server.pid" --logfile "log/14/ftp_server.log" --logdir "log/14" --portfile "log/14/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36539 (log/14/server/ftp_server.port) RUN: FTP server is PID 110708 port 36539 * pid ftp => 110708 110708 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/14/valgrind113 ../src/curl -q --output log/14/curl113.out --include --trace-ascii log/14/trace113 --trace-config all --trace-time ftp://127.0.0.1:36539/113 > log/14/stdout113 2> log/14/stderr113 113: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 113 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind113 ../src/curl -q --output log/14/curl113.out --include --trace-ascii log/14/trace113 --trace-config all --trace-time ftp://127.0.0.1:36539/113 > log/14/stdout113 2> log/14/stderr113 === End of file commands.log === Start of file ftp_server.log 20:54:33.575640 FTP server listens on port IPv4/36539 20:54:33.575690 logged pid 110708 in log/14/server/ftp_server.pid 20:54:33.575704 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.796982 Running IPv4 version 20:54:33.797023 Listening on port 36539 20:54:33.797061 Wrote pid 110716 to log/14/server/ftp_sockctrl.pid 20:54:33.797079 Wrote port 36539 to log/14/server/ftp_server.port 20:54:33.797091 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY USER 314 bluah you fewl Testnum 113 === End of file server.cmd === Start of file valgrind113 ==111233== ==111233== Process terminating with default action of signal 4 (SIGILL) ==111233== Illegal opcode at address 0x4003082 ==111233== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111233== by 0x4003082: main (tool_main.c:243) === End of file valgrind113 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/ftp_server.pid" --logfile "log/21/ftp_server.log" --logdir "log/21" --portfile "log/21/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44075 (log/21/server/ftp_server.port) RUN: FTP server is PID 110702 port 44075 * pid ftp => 110702 110702 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/21/valgrind107 ../src/curl -q --output log/21/curl107.out --include --trace-ascii log/21/trace107 --trace-config all --trace-time ftp://127.0.0.1:44075/107 -T log/21/test107.txt > log/21/stdout107 2> log/21/stderr107 107: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind107 ../src/curl -q --output log/21/curl107.out --include --trace-ascii log/21/trace107 --trace-config all --trace-time ftp://127.0.0.1:44075/107 -T log/21/test107.txt > log/21/stdout107 2> log/21/stderr107 === End of file commands.log === Start of file ftp_server.log 20:54:33.567192 FTP server listens on port IPv4/44075 20:54:33.567243 logged pid 110702 in log/21/server/ftp_server.pid 20:54:33.567258 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.788483 Running IPv4 version 20:54:33.788523 Listening on port 44075 20:54:33.788549 Wrote pid 110710 to log/21/server/ftp_sockctrl.pid 20:54:33.788568 Wrote port 44075 to log/21/server/ftp_server.port 20:54:33.788649 Received PING (on stdin) === End of file ftp_sockctrl.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 ==111192== ==111192== Process terminating with default action of signal 4 (SIGILL) ==111192== Illegal opcode at address 0x4003082 ==111192== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111192== by 0x4003082: main (tool_main.c:243) === End of file valgrind107 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 39989 (log/8/server/ftp_server.port) RUN: FTP server is PID 110704 port 39989 * pid ftp => 110704 110704 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/8/valgrind109 ../src/curl -q --output log/8/curl109.out --include --trace-ascii log/8/trace109 --trace-config all --trace-time ftp://127.0.0.1:39989/109 -T log/8/upload109 --append > log/8/stdout109 2> log/8/stderr109 109: 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 109 === Start of file commands.log ../libtool --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/valgrind109 ../src/curl -q --output log/8/curl109.out --include --trace-ascii log/8/trace109 --trace-config all --trace-time ftp://127.0.0.1:39989/109 -T log/8/upload109 --append > log/8/stdout109 2> log/8/stderr109 === End of file commands.log === Start of file ftp_server.log 20:54:33.572584 FTP server listens on port IPv4/39989 20:54:33.572657 logged pid 110704 in log/8/server/ftp_server.pid 20:54:33.572678 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.793872 Running IPv4 version 20:54:33.793929 Listening on port 39989 20:54:33.793969 Wrote pid 110712 to log/8/server/ftp_sockctrl.pid 20:54:33.793998 Wrote port 39989 to log/8/server/ftp_server.port 20:54:33.794018 Received PING (on stdin) === End of file ftp_sockctrl.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 ==111215== ==111215== Process terminating with default action of signal 4 (SIGILL) ==111215== Illegal opcode at address 0x4003082 ==111215== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111215== by 0x4003082: main (tool_main.c:243) === End of file valgrind109 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 39117 (log/3/server/ftp_server.port) RUN: FTP server is PID 110703 port 39117 * pid ftp => CMD (33792): ../libtool --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/valgrind112 ../src/curl -q --output log/4/curl112.out --include --trace-ascii log/4/trace112 --trace-config all --trace-time ftp://127.0.0.1:45117/112 -T log/4/upload112 -C 40 > log/4/stdout112 2> log/4/stderr112 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind111 ../src/curl -q --output log/17/curl111.out --include --trace-ascii log/17/trace111 --trace-config all --trace-time ftp://127.0.0.1:42765/111 -C 2000 > log/17/stdout111 2> log/17/stderr111 CMD (33792): ../libtool --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/valgrind114 ../src/curl -q --output log/9/curl114.out --include --trace-ascii log/9/trace114 --trace-config all --trace-time ftp://127.0.0.1:39489/114 > log/9/stdout114 2> log/9/stderr114 110703 110703 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/3/valgrind108 ../src/curl -q --output log/3/curl108.out --include --trace-ascii log/3/trace108 --trace-config all --trace-time ftp://127.0.0.1:39117/CWD/STOR/RETR/108 -T log/3/upload108 -P - > log/3/stdout108 2> log/3/stderr108 108: 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 108 === Start of file commands.log ../libtool --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/valgrind108 ../src/curl -q --output log/3/curl108.out --include --trace-ascii log/3/trace108 --trace-config all --trace-time ftp://127.0.0.1:39117/CWD/STOR/RETR/108 -T log/3/upload108 -P - > log/3/stdout108 2> log/3/stderr108 === End of file commands.log === Start of file ftp_server.log 20:54:33.569901 FTP server listens on port IPv4/39117 20:54:33.569954 logged pid 110703 in log/3/server/ftp_server.pid 20:54:33.569969 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.791173 Running IPv4 version 20:54:33.791241 Listening on port 39117 20:54:33.791281 Wrote pid 110711 to log/3/server/ftp_sockctrl.pid 20:54:33.791311 Wrote port 39117 to log/3/server/ftp_server.port 20:54:33.791331 Received PING (on stdin) === End of file ftp_sockctrl.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 ==111202== ==111202== Process terminating with default action of signal 4 (SIGILL) ==111202== Illegal opcode at address 0x4003082 ==111202== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111202== by 0x4003082: main (tool_main.c:243) === End of file valgrind108 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 45117 (log/4/server/ftp_server.port) RUN: FTP server is PID 110707 port 45117 * pid ftp => 110707 110707 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/4/valgrind112 ../src/curl -q --output log/4/curl112.out --include --trace-ascii log/4/trace112 --trace-config all --trace-time ftp://127.0.0.1:45117/112 -T log/4/upload112 -C 40 > log/4/stdout112 2> log/4/stderr112 112: 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 112 === Start of file commands.log ../libtool --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/valgrind112 ../src/curl -q --output log/4/curl112.out --include --trace-ascii log/4/trace112 --trace-config all --trace-time ftp://127.0.0.1:45117/112 -T log/4/upload112 -C 40 > log/4/stdout112 2> log/4/stderr112 === End of file commands.log === Start of file ftp_server.log 20:54:33.574880 FTP server listens on port IPv4/45117 20:54:33.574943 logged pid 110707 in log/4/server/ftp_server.pid 20:54:33.574961 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.796206 Running IPv4 version 20:54:33.796252 Listening on port 45117 20:54:33.796279 Wrote pid 110714 to log/4/server/ftp_sockctrl.pid 20:54:33.796300 Wrote port 45117 to log/4/server/ftp_server.port 20:54:33.796314 Received PING (on stdin) === End of file ftp_sockctrl.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 ==111237== ==111237== Process terminating with default action of signal 4 (SIGILL) ==111237== Illegal opcode at address 0x4003082 ==111237== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111237== by 0x4003082: main (tool_main.c:243) === End of file valgrind112 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_server.pid" --logfile "log/17/ftp_server.log" --logdir "log/17" --portfile "log/17/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42765 (log/17/server/ftp_server.port) RUN: FTP server is PID 110706 port 42765 * pid ftp => 110706 110706 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/17/valgrind111 ../src/curl -q --output log/17/curl111.out --include --trace-ascii log/17/trace111 --trace-config all --trace-time ftp://127.0.0.1:42765/111 -C 2000 > log/17/stdout111 2> log/17/stderr111 111: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind111 ../src/curl -q --output log/17/curl111.out --include --trace-ascii log/17/trace111 --trace-config all --trace-time ftp://127.0.0.1:42765/111 -C 2000 > log/17/stdout111 2> log/17/stderr111 === End of file commands.log === Start of file ftp_server.log 20:54:33.574732 FTP server listens on port IPv4/42765 20:54:33.574780 logged pid 110706 in log/17/server/ftp_server.pid 20:54:33.574795 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.796082 Running IPv4 version 20:54:33.796122 Listening on port 42765 20:54:33.796151 Wrote pid 110715 to log/17/server/ftp_sockctrl.pid 20:54:33.796171 Wrote port 42765 to log/17/server/ftp_server.port 20:54:33.796184 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 111 === End of file server.cmd === Start of file valgrind111 ==111232== ==111232== Process terminating with default action of signal 4 (SIGILL) ==111232== Illegal opcode at address 0x4003082 ==111232== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111232== by 0x4003082: main (tool_main.c:243) === End of file valgrind111 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 39489 (log/9/server/ftp_server.port) RUN: FTP server is PID 110717 port 39489 * pid ftp => 110717 110717 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/9/valgrind114 ../src/curl -q --output log/9/curl114.out --include --trace-ascii log/9/trace114 --trace-config all --trace-time ftp://127.0.0.1:39489/114 > log/9/stdout114 2> log/9/stderr114 114: 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 114 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind115 ../src/curl -q --output log/23/curl115.out --include --trace-ascii log/23/trace115 --trace-config all --trace-time ftp://127.0.0.1:40137/115 > log/23/stdout115 2> log/23/stderr115 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind124 ../src/curl -q --output log/24/curl124.out --include --trace-ascii log/24/trace124 --trace-config all --trace-time ftp://127.0.0.1:34045/124 > log/24/stdout124 2> log/24/stderr124 memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind114 ../src/curl -q --output log/9/curl114.out --include --trace-ascii log/9/trace114 --trace-config all --trace-time ftp://127.0.0.1:39489/114 > log/9/stdout114 2> log/9/stderr114 === End of file commands.log === Start of file ftp_server.log 20:54:33.696870 FTP server listens on port IPv4/39489 20:54:33.696933 logged pid 110717 in log/9/server/ftp_server.pid 20:54:33.696949 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.918207 Running IPv4 version 20:54:33.918251 Listening on port 39489 20:54:33.918277 Wrote pid 110741 to log/9/server/ftp_sockctrl.pid 20:54:33.918296 Wrote port 39489 to log/9/server/ftp_server.port 20:54:33.918310 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 114 === End of file server.cmd === Start of file valgrind114 ==111638== ==111638== Process terminating with default action of signal 4 (SIGILL) ==111638== Illegal opcode at address 0x4003082 ==111638== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111638== by 0x4003082: main (tool_main.c:243) === End of file valgrind114 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_server.pid" --logfile "log/23/ftp_server.log" --logdir "log/23" --portfile "log/23/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40137 (log/23/server/ftp_server.port) RUN: FTP server is PID 110718 port 40137 * pid ftp => 110718 110718 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/23/valgrind115 ../src/curl -q --output log/23/curl115.out --include --trace-ascii log/23/trace115 --trace-config all --trace-time ftp://127.0.0.1:40137/115 > log/23/stdout115 2> log/23/stderr115 115: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind115 ../src/curl -q --output log/23/curl115.out --include --trace-ascii log/23/trace115 --trace-config all --trace-time ftp://127.0.0.1:40137/115 > log/23/stdout115 2> log/23/stderr115 === End of file commands.log === Start of file ftp_server.log 20:54:33.698040 FTP server listens on port IPv4/40137 20:54:33.698106 logged pid 110718 in log/23/server/ftp_server.pid 20:54:33.698127 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.919340 Running IPv4 version 20:54:33.919391 Listening on port 40137 20:54:33.919431 Wrote pid 110750 to log/23/server/ftp_sockctrl.pid 20:54:33.919458 Wrote port 40137 to log/23/server/ftp_server.port 20:54:33.919476 Received PING (on stdin) === End of file ftp_sockctrl.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 ==111658== ==111658== Process terminating with default action of signal 4 (SIGILL) ==111658== Illegal opcode at address 0x4003082 ==111658== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111658== by 0x4003082: main (tool_main.c:243) === End of file valgrind115 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/24/valgrind124 ../src/curl -q --output log/24/curl124.out --include --trace-ascii log/24/trace124 --trace-config all --trace-time ftp://127.0.0.1:34045/124 > log/24/stdout124 2> log/24/stderr124 124: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind124 ../src/curl -q --output log/24/curl124.out --include --trace-ascii log/24/trace124 --trace-config all --trace-time ftp://127.0.0.1:34045/124 > log/24/stdout124 2> log/24/stderr124 === End of file commands.log === Start of file ftp_server.log 20:54:34.683692 ====> Client connect 20:54:34.683838 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:34.684098 < "USER anonymous" 20:54:34.684130 > "331 We are happy you popped in![CR][LF]" 20:54:34.684485 < "PASS ftp@example.com" 20:54:34.684528 > "230 Welcome you silly person[CR][LF]" 20:54:34.684665 < "PWD" 20:54:34.684689 > "257 "/" is current directory[CR][LF]" 20:54:34.684818 < "EPSV" 20:54:34.684842 ====> Passive DATA channel requested by client 20:54:34.684853 DATA sockfilt for passive data channel starting... 20:54:34.686234 DATA sockfilt for passive data channel started (pid 111657) 20:54:34.686310 DATA sockfilt for passive data channel listens on port 43909 20:54:34.686337 > "229 Entering Passive Mode (|||43909|)[LF]" 20:54:34.686349 Client has been notified that DATA conn will be accepted on port 43909 20:54:34.686513 Client connects to port 43909 20:54:34.686533 ====> Client established passive DATA connection on port 43909 20:54:34.686576 < "TYPE I" 20:54:34.686597 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:34.686797 < "SIZE verifiedserver" 20:54:34.686840 > "213 18[CR][LF]" 20:54:34.686969 < "RETR verifiedserver" 20:54:34.686997 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:34.687070 =====> Closing passive DATA connection... 20:54:34.687082 Server disconnects passive DATA connection 20:54:34.687243 Server disconnected passive DATA connection 20:54:34.687272 DATA sockfilt for passive data channel quits (pid 111657) 20:54:34.687512 DATA sockfilt for passive data channel quit (pid 111657) 20:54:34.687532 =====> Closed passive DATA connection 20:54:34.687558 > "226 File transfer complete[CR][LF]" 20:54:34.728991 < "QUIT" 20:54:34.729040 > "221 bye bye baby[CR][LF]" 20:54:34.729816 MAIN sockfilt said DISC 20:54:34.729852 ====> Client disconnected 20:54:34.729906 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.905117 ====> Client connect 20:54:34.905358 Received DATA (on stdin) 20:54:34.905375 > 160 bytes data, server => client 20:54:34.905387 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.905397 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.905405 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.905470 < 16 bytes data, client => server 20:54:34.905481 'USER anonymous\r\n' 20:54:34.905643 Received DATA (on stdin) 20:54:34.905653 > 33 bytes data, server => client 20:54:34.905663 '331 We are happy you popped in!\r\n' 20:54:34.905732 < 22 bytes data, client => server 20:54:34.905753 'PASS ftp@example.com\r\n' 20:54:34.906043 Received DATA (on stdin) 20:54:34.906055 > 30 bytes data, server => client 20:54:34.906064 '230 Welcome you silly person\r\n' 20:54:34.906109 < 5 bytes data, client => server 20:54:34.906118 'PWD\r\n' 20:54:34.906199 Received DATA (on stdin) 20:54:34.906208 > 30 bytes data, server => client 20:54:34.906217 '257 "/" is current directory\r\n' 20:54:34.906263 < 6 bytes data, client => server 20:54:34.906273 'EPSV\r\n' 20:54:34.907860 Received DATA (on stdin) 20:54:34.907870 > 38 bytes data, server => client 20:54:34.907877 '229 Entering Passive Mode (|||43909|)\n' 20:54:34.9079CMD (33792): ../libtool --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/valgrind123 ../src/curl -q --output log/12/curl123.out --include --trace-ascii log/12/trace123 --trace-config all --trace-time ftp://127.0.0.1:38967/123 -T log/12/upload123 -C 51 > log/12/stdout123 2> log/12/stderr123 85 < 8 bytes data, client => server 20:54:34.907992 'TYPE I\r\n' 20:54:34.908105 Received DATA (on stdin) 20:54:34.908112 > 33 bytes data, server => client 20:54:34.908120 '200 I modify TYPE as you wanted\r\n' 20:54:34.908190 < 21 bytes data, client => server 20:54:34.908210 'SIZE verifiedserver\r\n' 20:54:34.908354 Received DATA (on stdin) 20:54:34.908363 > 8 bytes data, server => client 20:54:34.908372 '213 18\r\n' 20:54:34.908411 < 21 bytes data, client => server 20:54:34.908421 'RETR verifiedserver\r\n' 20:54:34.908511 Received DATA (on stdin) 20:54:34.908532 > 29 bytes data, server => client 20:54:34.908542 '150 Binary junk (18 bytes).\r\n' 20:54:34.909070 Received DATA (on stdin) 20:54:34.909082 > 28 bytes data, server => client 20:54:34.909092 '226 File transfer complete\r\n' 20:54:34.950349 < 6 bytes data, client => server 20:54:34.950376 'QUIT\r\n' 20:54:34.950568 Received DATA (on stdin) 20:54:34.950718 > 18 bytes data, server => client 20:54:34.950727 '221 bye bye baby\r\n' 20:54:34.951275 ====> Client disconnect 20:54:34.951415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:34.907619 Running IPv4 version 20:54:34.907661 Listening on port 43909 20:54:34.907689 Wrote pid 111657 to log/24/server/ftp_sockdata.pid 20:54:34.907702 Received PING (on stdin) 20:54:34.907762 Received PORT (on stdin) 20:54:34.907965 ====> Client connect 20:54:34.908600 Received DATA (on stdin) 20:54:34.908618 > 18 bytes data, server => client 20:54:34.908627 'WE ROOLZ: 110632\r\n' 20:54:34.908653 Received DISC (on stdin) 20:54:34.908665 ====> Client forcibly disconnected 20:54:34.908791 Received QUIT (on stdin) 20:54:34.908801 quits 20:54:34.908853 ============> 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 ==111775== ==111775== Process terminating with default action of signal 4 (SIGILL) ==111775== Illegal opcode at address 0x4003082 ==111775== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111775== by 0x4003082: main (tool_main.c:243) === End of file valgrind124 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/12/valgrind123 ../src/curl -q --output log/12/curl123.out --include --trace-ascii log/12/trace123 --trace-config all --trace-time ftp://127.0.0.1:38967/123 -T log/12/upload123 -C 51 > log/12/stdout123 2> log/12/stderr123 123: 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 123 === Start of file commands.log ../libtool --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/valgrind123 ../src/curl -q --output log/12/curl123.out --include --trace-ascii log/12/trace123 --trace-config all --trace-time ftp://127.0.0.1:38967/123 -T log/12/upload123 -C 51 > log/12/stdout123 2> log/12/stderr123 === End of file commands.log === Start of file ftp_server.log 20:54:34.678117 ====> Client connect 20:54:34.678268 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:34.678675 < "USER anonymous" 20:54:34.678719 > "331 We are happy you popped in![CR][LF]" 20:54:34.678869 < "PASS ftp@example.com" 20:54:34.678894 > "230 Welcome you silly person[CR][LF]" 20:54:34.679098 < "PWD" 20:54:34.679151 > "257 "/" is current directory[CR][LF]" 20:54:34.679398 < "EPSV" 20:54:34.679425 ====> Passive DATA channel requested by client 20:54:34.679438 DATA sockfilt for passive data channel starting... 20:54:34.681502 DATA sockfilt for passive data channel started (pid 111637) 20:54:34.681665 DATA sockfilt for passive data channel listens on port 37405 20:54:34.681709 > "229 Entering Passive Mode (|||37405|)[LF]" 20:54:34.681728 Client has been notified that DATA conn will be accepted on port 37405 20:54:34.681916 Client connects to port 37405 20:54:34.681937 ====> Client established passive DATA connection on port 37405 20:54:34.681999 < "TYPE I" 20:54:34.682041 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:34.682212 < "SIZE verifiedserver" 20:54:34.682244 > "213 18[CR][LF]" 20:54:34.682399 < "RETR verifiedserver" 20:54:34.682445 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:34.682529 =====> Closing passive DATA connection... 20:54:34.682544 Server disconnects passive DATA connection 20:54:34.682616 Server disconnected passive DATA connection 20:54:34.682636 DATA sockfilt for passive data channel quits (pid 111637) 20:54:34.682855 DATA sockfilt for passive data channel quit (pid 111637) 20:54:34.682880 =====> Closed passive DATA connection 20:54:34.682909 > "226 File transfer complete[CR][LF]" 20:54:34.725844 < "QUIT" 20:54:34.725923 > "221 bye bye baby[CR][LF]" 20:54:34.727031 MAIN sockfilt said DISC 20:54:34.727085 ====> Client disconnected 20:54:34.727148 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.899545 ====> Client connect 20:54:34.899794 Received DATA (on stdin) 20:54:34.899809 > 160 bytes data, server => client 20:54:34.899820 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.899830 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.899840 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.900043 < 16 bytes data, client => server 20:54:34.900057 'USER anonymous\r\n' 20:54:34.900236 Received DATA (on stdin) 20:54:34.900247 > 33 bytes data, server => client 20:54:34.900257 '331 We are happy you popped in!\r\n' 20:54:34.900301 < 22 bytes data, client => server 20:54:34.900312 'PASS ftp@example.com\r\n' 20:54:34.900406 Received DATA (on stdin) 20:54:34.900417 > 30 bytes data, server => client 20:54:34.900426 '230 Welcome you silly person\r\n' 20:54:34.900469 < 5 bytes data, client => server 20:54:34.900479 'PWD\r\n' 20:54:34.900669 Received DATA (on stdin) 20:54:34.900686 > 30 bytes data, server => client 20:54:34.900696 '257 "/" is current directory\r\n' 20:54:34.900830 < 6 bytes data, client => server 20:54:34.900843 'EPSV\r\n' 20:54:34.903257 Received DATA (on stdin) 20:54:34.903277 > 38 bytes data, server => client 20:54:34.903289 '229 Entering Passive Mode (|||37405|)\n' 20:54:34.903396 < 8 bytes data, client => server 20:54:34.903409 'TYPE I\r\n' 20:54:34.903559 Received DATA (on stdin) 20:54:34.903574 > 33 bytes data, server => client 20:54:34.903584 '200 I modify TYPE as you wanted\r\n' 20:54:34.903646 < 21 bytes data, client => server 20:54:34.903658 'SIZE verifiedserver\r\n' 20:54:34.903759 Received DATA (on stdin) 20:54:34.903770 > 8 bytes data, server => client 20:54:34.903779 '213 18\r\n' 20:54:34.903825 < 21 bytes data, client => server 20:54:34.903836 'RETR verifiedserver\r\n' 20:54:34.904053 Received DATA (on stdin) 20:54:34.904069 > 29 bytes data, server => client 20:54:34.904079 '150 Binary junk (18 bytes).\r\n' 20:54:34.904425 Received DATA (on stdin) 20:54:34.904438 > 28 bytes data, server => client 20:54:34.904449 '226 File transfer complete\r\n' 20:54:34.947144 < 6 bytes data, client => server 20:54:34.947179 'QUIT\r\n' 20:54:34.947442 Received DATA (on stdin) 20:54:34.947453 > 18 bytes data, server => client 20:54:34.947461 '221 bye bye baby\r\n' 20:54:34.948081 ====> Client disconnect 20:54:34.948662 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:34.902468 Running IPv4 version 20:54:34.902522 Listening on port 37405 20:54:34.902564 Wrote pid 111637 to log/12/server/ftp_sockdata.pid 20:54:34.902959 Received PING (on stdin) 20:54:34.903067 Received PORT (on stdin) 20: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/7/valgrind125 ../src/curl -q --output log/7/curl125.out --include --trace-ascii log/7/trace125 --trace-config all --trace-time ftp://127.0.0.1:40643/path/to/file/125 > log/7/stdout125 2> log/7/stderr125 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind126 ../src/curl -q --output log/19/curl126.out --include --trace-ascii log/19/trace126 --trace-config all --trace-time ftp://127.0.0.1:44763/blalbla/lululul/126 > log/19/stdout126 2> log/19/stderr126 34.903386 ====> Client connect 20:54:34.903978 Received DATA (on stdin) 20:54:34.903998 > 18 bytes data, server => client 20:54:34.904009 'WE ROOLZ: 110628\r\n' 20:54:34.904063 Received DISC (on stdin) 20:54:34.904077 ====> Client forcibly disconnected 20:54:34.904155 Received QUIT (on stdin) 20:54:34.904165 quits 20:54:34.904218 ============> 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 ==111761== ==111761== Process terminating with default action of signal 4 (SIGILL) ==111761== Illegal opcode at address 0x4003082 ==111761== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111761== by 0x4003082: main (tool_main.c:243) === End of file valgrind123 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/7/valgrind125 ../src/curl -q --output log/7/curl125.out --include --trace-ascii log/7/trace125 --trace-config all --trace-time ftp://127.0.0.1:40643/path/to/file/125 > log/7/stdout125 2> log/7/stderr125 125: 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 125 === Start of file commands.log ../libtool --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/valgrind125 ../src/curl -q --output log/7/curl125.out --include --trace-ascii log/7/trace125 --trace-config all --trace-time ftp://127.0.0.1:40643/path/to/file/125 > log/7/stdout125 2> log/7/stderr125 === End of file commands.log === Start of file ftp_server.log 20:54:34.688402 ====> Client connect 20:54:34.688551 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:34.688772 < "USER anonymous" 20:54:34.688805 > "331 We are happy you popped in![CR][LF]" 20:54:34.688985 < "PASS ftp@example.com" 20:54:34.689028 > "230 Welcome you silly person[CR][LF]" 20:54:34.689188 < "PWD" 20:54:34.689214 > "257 "/" is current directory[CR][LF]" 20:54:34.689347 < "EPSV" 20:54:34.689372 ====> Passive DATA channel requested by client 20:54:34.689383 DATA sockfilt for passive data channel starting... 20:54:34.691046 DATA sockfilt for passive data channel started (pid 111675) 20:54:34.691158 DATA sockfilt for passive data channel listens on port 38891 20:54:34.691203 > "229 Entering Passive Mode (|||38891|)[LF]" 20:54:34.691225 Client has been notified that DATA conn will be accepted on port 38891 20:54:34.691425 Client connects to port 38891 20:54:34.691450 ====> Client established passive DATA connection on port 38891 20:54:34.691516 < "TYPE I" 20:54:34.691541 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:34.691684 < "SIZE verifiedserver" 20:54:34.691720 > "213 18[CR][LF]" 20:54:34.691868 < "RETR verifiedserver" 20:54:34.691896 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:34.691964 =====> Closing passive DATA connection... 20:54:34.691978 Server disconnects passive DATA connection 20:54:34.692123 Server disconnected passive DATA connection 20:54:34.692157 DATA sockfilt for passive data channel quits (pid 111675) 20:54:34.692393 DATA sockfilt for passive data channel quit (pid 111675) 20:54:34.692418 =====> Closed passive DATA connection 20:54:34.692448 > "226 File transfer complete[CR][LF]" 20:54:34.739657 < "QUIT" 20:54:34.739705 > "221 bye bye baby[CR][LF]" 20:54:34.740327 MAIN sockfilt said DISC 20:54:34.740369 ====> Client disconnected 20:54:34.740433 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.909824 ====> Client connect 20:54:34.910071 Received DATA (on stdin) 20:54:34.910082 > 160 bytes data, server => client 20:54:34.910091 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.910099 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.910107 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.910158 < 16 bytes data, client => server 20:54:34.910171 'USER anonymous\r\n' 20:54:34.910316 Received DATA (on stdin) 20:54:34.910327 > 33 bytes data, server => client 20:54:34.910336 '331 We are happy you popped in!\r\n' 20:54:34.910383 < 22 bytes data, client => server 20:54:34.910394 'PASS ftp@example.com\r\n' 20:54:34.910547 Received DATA (on stdin) 20:54:34.910563 > 30 bytes data, server => client 20:54:34.910573 '230 Welcome you silly person\r\n' 20:54:34.910631 < 5 bytes data, client => server 20:54:34.910641 'PWD\r\n' 20:54:34.910724 Received DATA (on stdin) 20:54:34.910733 > 30 bytes data, server => client 20:54:34.910742 '257 "/" is current directory\r\n' 20:54:34.910794 < 6 bytes data, client => server 20:54:34.910803 'EPSV\r\n' 20:54:34.912739 Received DATA (on stdin) 20:54:34.912758 > 38 bytes data, server => client 20:54:34.912768 '229 Entering Passive Mode (|||38891|)\n' 20:54:34.912892 < 8 bytes data, client => server 20:54:34.912902 'TYPE I\r\n' 20:54:34.913055 Received DATA (on stdin) 20:54:34.913067 > 33 bytes data, server => client 20:54:34.913076 '200 I modify TYPE as you wanted\r\n' 20:54:34.913120 < 21 bytes data, client => server 20:54:34.913131 'SIZE verifiedserver\r\n' 20:54:34.913238 Received DATA (on stdin) 20:54:34.913257 > 8 bytes data, server => client 20:54:34.913268 '213 18\r\n' 20:54:34.913326 < 21 bytes data, client => server 20:54:34.913337 'RETR verifiedserver\r\n' 20:54:34.913493 Received DATA (on stdin) 20:54:34.913507 > 29 bytes data, server => client 20:54:34.913517 '150 Binary junk (18 bytes).\r\n' 20:54:34.913966 Received DATA (on stdin) 20:54:34.913980 > 28 bytes data, server => client 20:54:34.913989 '226 File transfer complete\r\n' 20:54:34.960997 < 6 bytes data, client => server 20:54:34.961023 'QUIT\r\n' 20:54:34.961221 Received DATA (on stdin) 20:54:34.961232 > 18 bytes data, server => client 20:54:34.961242 '221 bye bye baby\r\n' 20:54:34.961771 ====> Client disconnect 20:54:34.961950 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:34.912385 Running IPv4 version 20:54:34.912444 Listening on port 38891 20:54:34.912481 Wrote pid 111675 to log/7/server/ftp_sockdata.pid 20:54:34.912500 Received PING (on stdin) 20:54:34.912590 Received PORT (on stdin) 20:54:34.912868 ====> Client connect 20:54:34.913546 Received DATA (on stdin) 20:54:34.913558 > 18 bytes data, server => client 20:54:34.913567 'WE ROOLZ: 110634\r\n' 20:54:34.913591 Received DISC (on stdin) 20:54:34.913601 ====> Client forcibly disconnected 20:54:34.913691 Received QUIT (on stdin) 20:54:34.913707 quits 20:54:34.913766 ============> 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 ==111784== ==111784== Process terminating with default action of signal 4 (SIGILL) ==111784== Illegal opcode at address 0x4003082 ==111784== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111784== by 0x4003082: main (tool_main.c:243) === 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/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind126 ../src/curl -q --output log/19/curl126.out --include --trace-ascii log/19/trace126 --trace-config all --trace-time ftp://127.0.0.1:44763/blalbla/lululul/126 > log/19/stdout126 2> log/19/stderr126 126: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the 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/22/valgrind129 ../src/curl -q --output log/22/curl129.out --include --trace-ascii log/22/trace129 --trace-config all --trace-time http://127.0.0.1:44239/129 > log/22/stdout129 2> log/22/stderr129 19/ dir after test 126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind126 ../src/curl -q --output log/19/curl126.out --include --trace-ascii log/19/trace126 --trace-config all --trace-time ftp://127.0.0.1:44763/blalbla/lululul/126 > log/19/stdout126 2> log/19/stderr126 === End of file commands.log === Start of file ftp_server.log 20:54:34.699814 ====> Client connect 20:54:34.699976 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:34.700231 < "USER anonymous" 20:54:34.700254 > "331 We are happy you popped in![CR][LF]" 20:54:34.700909 < "PASS ftp@example.com" 20:54:34.700932 > "230 Welcome you silly person[CR][LF]" 20:54:34.701116 < "PWD" 20:54:34.701167 > "257 "/" is current directory[CR][LF]" 20:54:34.701345 < "EPSV" 20:54:34.701373 ====> Passive DATA channel requested by client 20:54:34.701385 DATA sockfilt for passive data channel starting... 20:54:34.702456 DATA sockfilt for passive data channel started (pid 111716) 20:54:34.702532 DATA sockfilt for passive data channel listens on port 33867 20:54:34.702561 > "229 Entering Passive Mode (|||33867|)[LF]" 20:54:34.702573 Client has been notified that DATA conn will be accepted on port 33867 20:54:34.702788 Client connects to port 33867 20:54:34.702809 ====> Client established passive DATA connection on port 33867 20:54:34.702849 < "TYPE I" 20:54:34.702866 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:34.702983 < "SIZE verifiedserver" 20:54:34.703019 > "213 18[CR][LF]" 20:54:34.703135 < "RETR verifiedserver" 20:54:34.703158 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:34.703219 =====> Closing passive DATA connection... 20:54:34.703230 Server disconnects passive DATA connection 20:54:34.703475 Server disconnected passive DATA connection 20:54:34.703497 DATA sockfilt for passive data channel quits (pid 111716) 20:54:34.703740 DATA sockfilt for passive data channel quit (pid 111716) 20:54:34.703757 =====> Closed passive DATA connection 20:54:34.703777 > "226 File transfer complete[CR][LF]" 20:54:34.745659 < "QUIT" 20:54:34.745711 > "221 bye bye baby[CR][LF]" 20:54:34.746702 MAIN sockfilt said DISC 20:54:34.746732 ====> Client disconnected 20:54:34.746804 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.921236 ====> Client connect 20:54:34.921512 Received DATA (on stdin) 20:54:34.921533 > 160 bytes data, server => client 20:54:34.921544 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.921552 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.921559 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.921632 < 16 bytes data, client => server 20:54:34.921640 'USER anonymous\r\n' 20:54:34.921764 Received DATA (on stdin) 20:54:34.921773 > 33 bytes data, server => client 20:54:34.921780 '331 We are happy you popped in!\r\n' 20:54:34.922339 < 22 bytes data, client => server 20:54:34.922354 'PASS ftp@example.com\r\n' 20:54:34.922441 Received DATA (on stdin) 20:54:34.922451 > 30 bytes data, server => client 20:54:34.922459 '230 Welcome you silly person\r\n' 20:54:34.922503 < 5 bytes data, client => server 20:54:34.922513 'PWD\r\n' 20:54:34.922688 Received DATA (on stdin) 20:54:34.922704 > 30 bytes data, server => client 20:54:34.922714 '257 "/" is current directory\r\n' 20:54:34.922784 < 6 bytes data, client => server 20:54:34.922797 'EPSV\r\n' 20:54:34.924087 Received DATA (on stdin) 20:54:34.924097 > 38 bytes data, server => client 20:54:34.924105 '229 Entering Passive Mode (|||33867|)\n' 20:54:34.924227 < 8 bytes data, client => server 20:54:34.924243 'TYPE I\r\n' 20:54:34.924362 Received DATA (on stdin) 20:54:34.924370 > 33 bytes data, server => client 20:54:34.924378 '200 I modify TYPE as you wanted\r\n' 20:54:34.924410 < 21 bytes data, client => server 20:54:34.924418 'SIZE verifiedserver\r\n' 20:54:34.924530 Received DATA (on stdin) 20:54:34.924538 > 8 bytes data, server => client 20:54:34.924545 '213 18\r\n' 20:54:34.924587 < 21 bytes data, client => server 20:54:34.924595 'RETR verifiedserver\r\n' 20:54:34.924740 Received DATA (on stdin) 20:54:34.924748 > 29 bytes data, server => client 20:54:34.924755 '150 Binary junk (18 bytes).\r\n' 20:54:34.925286 Received DATA (on stdin) 20:54:34.925296 > 28 bytes data, server => client 20:54:34.925304 '226 File transfer complete\r\n' 20:54:34.967012 < 6 bytes data, client => server 20:54:34.967037 'QUIT\r\n' 20:54:34.967230 Received DATA (on stdin) 20:54:34.967243 > 18 bytes data, server => client 20:54:34.967254 '221 bye bye baby\r\n' 20:54:34.968161 ====> Client disconnect 20:54:34.968241 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:34.923842 Running IPv4 version 20:54:34.923886 Listening on port 33867 20:54:34.923912 Wrote pid 111716 to log/19/server/ftp_sockdata.pid 20:54:34.923926 Received PING (on stdin) 20:54:34.923985 Received PORT (on stdin) 20:54:34.924262 ====> Client connect 20:54:34.924839 Received DATA (on stdin) 20:54:34.924860 > 18 bytes data, server => client 20:54:34.924870 'WE ROOLZ: 110642\r\n' 20:54:34.924896 Received DISC (on stdin) 20:54:34.924908 ====> Client forcibly disconnected 20:54:34.925010 Received QUIT (on stdin) 20:54:34.925019 quits 20:54:34.925065 ============> 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 ==111820== ==111820== Process terminating with default action of signal 4 (SIGILL) ==111820== Illegal opcode at address 0x4003082 ==111820== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111820== by 0x4003082: main (tool_main.c:243) === End of file valgrind126 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/22/valgrind129 ../src/curl -q --output log/22/curl129.out --include --trace-ascii log/22/trace129 --trace-config all --trace-time http://127.0.0.1:44239/129 > log/22/stdout129 2> log/22/stderr129 129: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 129 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind129 ../src/curl -q --output log/22/curl129.out --include --trace-ascii log/22/trace129 --trace-config all --trace-time http://127.0.0.1:44239/129 > log/22/stdout129 2> log/22/stderr129 === End of file commands.log === Start of file http_server.log 20:54:35.006280 ====> Client connect 20:54:35.006309 accept_connection 3 returned 4 20:54:35.006326 accept_connection 3 returned 0 20:54:35.006339 Read 93 bytes 20:54:35.006348 Process 93 bytes request 20:54:35.006361 Got request: GET /verifiedserver HTTP/1.1 20:54:35.006370 Are-we-friendly question received 20:54:35.006392 Wrote request (93 bytes) input to log/22/server.input 20:54:35.006412 Identifying ourselves as friends 20:54:35.006468 Response sent (57 bytes) and written to log/22/server.response 20:54:35.006478 special request received, no persistency 20:54:35.006487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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 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/16/valgrind128 ../src/curl -q --output log/16/curl128.out --include --trace-ascii log/16/trace128 --trace-config all --trace-time ftp://127.0.0.1:35865/128 -T log/16/upload128 --crlf > log/16/stdout128 2> log/16/stderr128 CMD (33792): ../libtool --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/valgrind116 ../src/curl -q --output log/10/curl116.out --include --trace-ascii log/10/trace116 --trace-config all --trace-time ftp://127.0.0.1:41053/116 -P 1.2.3.4 > log/10/stdout116 2> log/10/stderr116 le http_verify.log === Start of file http_verify.out WE ROOLZ: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind129 ==111988== ==111988== Process terminating with default action of signal 4 (SIGILL) ==111988== Illegal opcode at address 0x4003082 ==111988== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==111988== by 0x4003082: main (tool_main.c:243) === End of file valgrind129 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/16/valgrind128 ../src/curl -q --output log/16/curl128.out --include --trace-ascii log/16/trace128 --trace-config all --trace-time ftp://127.0.0.1:35865/128 -T log/16/upload128 --crlf > log/16/stdout128 2> log/16/stderr128 128: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 128 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind128 ../src/curl -q --output log/16/curl128.out --include --trace-ascii log/16/trace128 --trace-config all --trace-time ftp://127.0.0.1:35865/128 -T log/16/upload128 --crlf > log/16/stdout128 2> log/16/stderr128 === End of file commands.log === Start of file ftp_server.log 20:54:34.783106 ====> Client connect 20:54:34.783303 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:34.783536 < "USER anonymous" 20:54:34.783562 > "331 We are happy you popped in![CR][LF]" 20:54:34.783684 < "PASS ftp@example.com" 20:54:34.783703 > "230 Welcome you silly person[CR][LF]" 20:54:34.783809 < "PWD" 20:54:34.783829 > "257 "/" is current directory[CR][LF]" 20:54:34.783938 < "EPSV" 20:54:34.783959 ====> Passive DATA channel requested by client 20:54:34.783968 DATA sockfilt for passive data channel starting... 20:54:34.785100 DATA sockfilt for passive data channel started (pid 111975) 20:54:34.785179 DATA sockfilt for passive data channel listens on port 45271 20:54:34.785209 > "229 Entering Passive Mode (|||45271|)[LF]" 20:54:34.785223 Client has been notified that DATA conn will be accepted on port 45271 20:54:34.785378 Client connects to port 45271 20:54:34.785402 ====> Client established passive DATA connection on port 45271 20:54:34.785449 < "TYPE I" 20:54:34.785472 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:34.785641 < "SIZE verifiedserver" 20:54:34.785670 > "213 18[CR][LF]" 20:54:34.785777 < "RETR verifiedserver" 20:54:34.785800 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:34.785868 =====> Closing passive DATA connection... 20:54:34.785880 Server disconnects passive DATA connection 20:54:34.786044 Server disconnected passive DATA connection 20:54:34.786065 DATA sockfilt for passive data channel quits (pid 111975) 20:54:34.786222 DATA sockfilt for passive data channel quit (pid 111975) 20:54:34.786242 =====> Closed passive DATA connection 20:54:34.786266 > "226 File transfer complete[CR][LF]" 20:54:34.832377 < "QUIT" 20:54:34.832422 > "221 bye bye baby[CR][LF]" 20:54:34.833173 MAIN sockfilt said DISC 20:54:34.833199 ====> Client disconnected 20:54:34.833273 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.004496 ====> Client connect 20:54:35.004825 Received DATA (on stdin) 20:54:35.004838 > 160 bytes data, server => client 20:54:35.004847 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.004855 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.004863 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.004923 < 16 bytes data, client => server 20:54:35.004932 'USER anonymous\r\n' 20:54:35.005074 Received DATA (on stdin) 20:54:35.005083 > 33 bytes data, server => client 20:54:35.005091 '331 We are happy you popped in!\r\n' 20:54:35.005129 < 22 bytes data, client => server 20:54:35.005137 'PASS ftp@example.com\r\n' 20:54:35.005211 Received DATA (on stdin) 20:54:35.005220 > 30 bytes data, server => client 20:54:35.005228 '230 Welcome you silly person\r\n' 20:54:35.005260 < 5 bytes data, client => server 20:54:35.005268 'PWD\r\n' 20:54:35.005336 Received DATA (on stdin) 20:54:35.005344 > 30 bytes data, server => client 20:54:35.005352 '257 "/" is current directory\r\n' 20:54:35.005391 < 6 bytes data, client => server 20:54:35.005399 'EPSV\r\n' 20:54:35.006737 Received DATA (on stdin) 20:54:35.006747 > 38 bytes data, server => client 20:54:35.006755 '229 Entering Passive Mode (|||45271|)\n' 20:54:35.006834 < 8 bytes data, client => server 20:54:35.006848 'TYPE I\r\n' 20:54:35.006981 Received DATA (on stdin) 20:54:35.006993 > 33 bytes data, server => client 20:54:35.007001 '200 I modify TYPE as you wanted\r\n' 20:54:35.007083 < 21 bytes data, client => server 20:54:35.007095 'SIZE verifiedserver\r\n' 20:54:35.007178 Received DATA (on stdin) 20:54:35.007187 > 8 bytes data, server => client 20:54:35.007194 '213 18\r\n' 20:54:35.007228 < 21 bytes data, client => server 20:54:35.007236 'RETR verifiedserver\r\n' 20:54:35.007391 Received DATA (on stdin) 20:54:35.007400 > 29 bytes data, server => client 20:54:35.007408 '150 Binary junk (18 bytes).\r\n' 20:54:35.007778 Received DATA (on stdin) 20:54:35.007790 > 28 bytes data, server => client 20:54:35.007800 '226 File transfer complete\r\n' 20:54:35.053739 < 6 bytes data, client => server 20:54:35.053780 'QUIT\r\n' 20:54:35.053935 Received DATA (on stdin) 20:54:35.053944 > 18 bytes data, server => client 20:54:35.053952 '221 bye bye baby\r\n' 20:54:35.054636 ====> Client disconnect 20:54:35.054791 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:34.006464 Running IPv4 version 20:54:34.006507 Listening on port 45271 20:54:34.006554 Wrote pid 111975 to log/16/server/ftp_sockdata.pid 20:54:34.006568 Received PING (on stdin) 20:54:34.006627 Received PORT (on stdin) 20:54:34.006837 ====> Client connect 20:54:34.007426 Received DATA (on stdin) 20:54:34.007436 > 18 bytes data, server => client 20:54:34.007444 'WE ROOLZ: 110697\r\n' 20:54:34.007462 Received DISC (on stdin) 20:54:34.007471 ====> Client forcibly disconnected 20:54:34.007582 Received QUIT (on stdin) 20:54:34.007590 quits 20:54:34.007628 ============> 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 upload128 === Start of file valgrind128 ==112039== ==112039== Process terminating with default action of signal 4 (SIGILL) ==112039== Illegal opcode at address 0x4003082 ==112039== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112039== by 0x4003082: main (tool_main.c:243) === End of file valgrind128 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 41053 (log/10/server/ftp_server.port) RUN: FTP server is PID 110827 port 41053 * pid ftp => 110827 110827 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/10/valgrind116 ../src/curl -q --output log/10/curl116.out --include --trace-ascii log/10/trace116 --trace-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/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:41115/117 > log/2/stdout117 2> log/2/stderr117 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind118 ../src/curl -q --output log/13/curl118.out --include --trace-ascii log/13/trace118 --trace-config all --trace-time ftp://127.0.0.1:43911/118 > log/13/stdout118 2> log/13/stderr118 CMD (33792): ../libtool --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/valgrind119 ../src/curl -q --output log/11/curl119.out --include --trace-ascii log/11/trace119 --trace-config all --trace-time ftp://127.0.0.1:45405/119 -P - > log/11/stdout119 2> log/11/stderr119 fig all --trace-time ftp://127.0.0.1:41053/116 -P 1.2.3.4 > log/10/stdout116 2> log/10/stderr116 116: 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 116 === Start of file commands.log ../libtool --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/valgrind116 ../src/curl -q --output log/10/curl116.out --include --trace-ascii log/10/trace116 --trace-config all --trace-time ftp://127.0.0.1:41053/116 -P 1.2.3.4 > log/10/stdout116 2> log/10/stderr116 === End of file commands.log === Start of file ftp_server.log 20:54:33.905613 FTP server listens on port IPv4/41053 20:54:33.905684 logged pid 110827 in log/10/server/ftp_server.pid 20:54:33.905699 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.126953 Running IPv4 version 20:54:33.127002 Listening on port 41053 20:54:33.127030 Wrote pid 110828 to log/10/server/ftp_sockctrl.pid 20:54:33.127048 Wrote port 41053 to log/10/server/ftp_server.port 20:54:33.127063 Received PING (on stdin) === End of file ftp_sockctrl.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 ==112095== ==112095== Process terminating with default action of signal 4 (SIGILL) ==112095== Illegal opcode at address 0x4003082 ==112095== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112095== by 0x4003082: main (tool_main.c:243) === End of file valgrind116 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 41115 (log/2/server/ftp_server.port) RUN: FTP server is PID 110829 port 41115 * pid ftp => 110829 110829 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 --include --trace-ascii log/2/trace117 --trace-config all --trace-time ftp://127.0.0.1:41115/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 commands.log ../libtool --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:41115/117 > log/2/stdout117 2> log/2/stderr117 === End of file commands.log === Start of file ftp_server.log 20:54:33.932102 FTP server listens on port IPv4/41115 20:54:33.932197 logged pid 110829 in log/2/server/ftp_server.pid 20:54:33.932220 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.153381 Running IPv4 version 20:54:33.153425 Listening on port 41115 20:54:33.153451 Wrote pid 110830 to log/2/server/ftp_sockctrl.pid 20:54:33.153470 Wrote port 41115 to log/2/server/ftp_server.port 20:54:33.153484 Received PING (on stdin) === End of file ftp_sockctrl.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 ==112128== ==112128== Process terminating with default action of signal 4 (SIGILL) ==112128== Illegal opcode at address 0x4003082 ==112128== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112128== by 0x4003082: main (tool_main.c:243) === End of file valgrind117 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_server.pid" --logfile "log/13/ftp_server.log" --logdir "log/13" --portfile "log/13/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43911 (log/13/server/ftp_server.port) RUN: FTP server is PID 110831 port 43911 * pid ftp => 110831 110831 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/13/valgrind118 ../src/curl -q --output log/13/curl118.out --include --trace-ascii log/13/trace118 --trace-config all --trace-time ftp://127.0.0.1:43911/118 > log/13/stdout118 2> log/13/stderr118 118: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind118 ../src/curl -q --output log/13/curl118.out --include --trace-ascii log/13/trace118 --trace-config all --trace-time ftp://127.0.0.1:43911/118 > log/13/stdout118 2> log/13/stderr118 === End of file commands.log === Start of file ftp_server.log 20:54:33.968202 FTP server listens on port IPv4/43911 20:54:33.968258 logged pid 110831 in log/13/server/ftp_server.pid 20:54:33.968276 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:33.189535 Running IPv4 version 20:54:33.189578 Listening on port 43911 20:54:33.189606 Wrote pid 110832 to log/13/server/ftp_sockctrl.pid 20:54:33.189625 Wrote port 43911 to log/13/server/ftp_server.port 20:54:33.189639 Received PING (on stdin) === End of file ftp_sockctrl.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 ==112192== ==112192== Process terminating with default action of signal 4 (SIGILL) ==112192== Illegal opcode at address 0x4003082 ==112192== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112192== by 0x4003082: main (tool_main.c:243) === End of file valgrind118 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 45405 (log/11/server/ftp_server.port) RUN: FTP server is PID 110833 port 45405 * pid ftp => 110833 110833 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/11/valgrind119 ../src/curl -q --output log/11/curl119.out --include --trace-ascii log/11/trace119 --trace-config all --trace-time ftp://127.0.0.1:45405/119 -P - > log/11/stdout119 2> log/11/stderr119 119: 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 119 === Start of file commands.log ../libtool --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/valgrind119 ../src/curl -q --output log/11/curl119.out --include --trace-ascii log/11/trace119 --trace-config all --trace-time ftp://127.0.0.1:45405/119 -P - > log/11/stdout119 2> log/11/stderr119 === End of file commands.log === Start of file ftp_server.log 20:54:34.037891 FTPCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind120 ../src/curl -q --output log/15/curl120.out --include --trace-ascii log/15/trace120 --trace-config all --trace-time ftp://127.0.0.1:41165/120 -Q "-DELE file" > log/15/stdout120 2> log/15/stderr120 CMD (33792): ../libtool --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/valgrind138 ../src/curl -q --output log/9/curl138.out --include --trace-ascii log/9/trace138 --trace-config all --trace-time ftp://127.0.0.1:39489/blalbla/lululul/138 > log/9/stdout138 2> log/9/stderr138 server listens on port IPv4/45405 20:54:34.037949 logged pid 110833 in log/11/server/ftp_server.pid 20:54:34.037967 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.259204 Running IPv4 version 20:54:34.259259 Listening on port 45405 20:54:34.259295 Wrote pid 110835 to log/11/server/ftp_sockctrl.pid 20:54:34.259315 Wrote port 45405 to log/11/server/ftp_server.port 20:54:34.259330 Received PING (on stdin) === End of file ftp_sockctrl.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 ==112247== ==112247== Process terminating with default action of signal 4 (SIGILL) ==112247== Illegal opcode at address 0x4003082 ==112247== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112247== by 0x4003082: main (tool_main.c:243) === End of file valgrind119 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/ftp_server.pid" --logfile "log/15/ftp_server.log" --logdir "log/15" --portfile "log/15/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41165 (log/15/server/ftp_server.port) RUN: FTP server is PID 110834 port 41165 * pid ftp => 110834 110834 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/15/valgrind120 ../src/curl -q --output log/15/curl120.out --include --trace-ascii log/15/trace120 --trace-config all --trace-time ftp://127.0.0.1:41165/120 -Q "-DELE file" > log/15/stdout120 2> log/15/stderr120 120: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind120 ../src/curl -q --output log/15/curl120.out --include --trace-ascii log/15/trace120 --trace-config all --trace-time ftp://127.0.0.1:41165/120 -Q "-DELE file" > log/15/stdout120 2> log/15/stderr120 === End of file commands.log === Start of file ftp_server.log 20:54:34.040009 FTP server listens on port IPv4/41165 20:54:34.040095 logged pid 110834 in log/15/server/ftp_server.pid 20:54:34.040119 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.261356 Running IPv4 version 20:54:34.261393 Listening on port 41165 20:54:34.261416 Wrote pid 110836 to log/15/server/ftp_sockctrl.pid 20:54:34.261435 Wrote port 41165 to log/15/server/ftp_server.port 20:54:34.261447 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l Testnum 120 === End of file server.cmd === Start of file valgrind120 ==112265== ==112265== Process terminating with default action of signal 4 (SIGILL) ==112265== Illegal opcode at address 0x4003082 ==112265== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112265== by 0x4003082: main (tool_main.c:243) === End of file valgrind120 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/9/valgrind138 ../src/curl -q --output log/9/curl138.out --include --trace-ascii log/9/trace138 --trace-config all --trace-time ftp://127.0.0.1:39489/blalbla/lululul/138 > log/9/stdout138 2> log/9/stderr138 138: 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 138 === Start of file commands.log ../libtool --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/valgrind138 ../src/curl -q --output log/9/curl138.out --include --trace-ascii log/9/trace138 --trace-config all --trace-time ftp://127.0.0.1:39489/blalbla/lululul/138 > log/9/stdout138 2> log/9/stderr138 === End of file commands.log === Start of file ftp_server.log 20:54:35.122732 ====> Client connect 20:54:35.122890 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.123237 < "USER anonymous" 20:54:35.123286 > "331 We are happy you popped in![CR][LF]" 20:54:35.123739 < "PASS ftp@example.com" 20:54:35.123777 > "230 Welcome you silly person[CR][LF]" 20:54:35.123930 < "PWD" 20:54:35.123958 > "257 "/" is current directory[CR][LF]" 20:54:35.124104 < "EPSV" 20:54:35.124130 ====> Passive DATA channel requested by client 20:54:35.124143 DATA sockfilt for passive data channel starting... 20:54:35.125673 DATA sockfilt for passive data channel started (pid 112593) 20:54:35.125764 DATA sockfilt for passive data channel listens on port 36821 20:54:35.125794 > "229 Entering Passive Mode (|||36821|)[LF]" 20:54:35.125808 Client has been notified that DATA conn will be accepted on port 36821 20:54:35.126019 Client connects to port 36821 20:54:35.126053 ====> Client established passive DATA connection on port 36821 20:54:35.126116 < "TYPE I" 20:54:35.126146 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.126312 < "SIZE verifiedserver" 20:54:35.126347 > "213 18[CR][LF]" 20:54:35.126577 < "RETR verifiedserver" 20:54:35.126631 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.126714 =====> Closing passive DATA connection... 20:54:35.126731 Server disconnects passive DATA connection 20:54:35.126892 Server disconnected passive DATA connection 20:54:35.126926 DATA sockfilt for passive data channel quits (pid 112593) 20:54:35.127157 DATA sockfilt for passive data channel quit (pid 112593) 20:54:35.127183 =====> Closed passive DATA connection 20:54:35.127213 > "226 File transfer complete[CR][LF]" 20:54:35.169690 < "QUIT" 20:54:35.169762 > "221 bye bye baby[CR][LF]" 20:54:35.170923 MAIN sockfilt said DISC 20:54:35.170990 ====> Client disconnected 20:54:35.171102 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.343941 ====> Client connect 20:54:35.344415 Received DATA (on stdin) 20:54:35.344430 > 160 bytes data, server => client 20:54:35.344442 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.344452 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.344463 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.344544 < 16 bytes data, client => server 20:54:35.344557 'USER anonymous\r\n' 20:54:35.344810 Received DATA (on stdin) 20:54:35.344829 > 33 bytes data, server => client 20:54:35.344841 '331 We are happy you popped in!\r\n' 20:54:35.344893 < 22 bytes data, client => server 20:54:35.344905 'PASS ftp@example.com\r\n' 20:54:35.345294 Received DATA (on stdin) 20:54:35.345306 > 30 bytes data, server => client 20:54:35.345317 '230 Welcome you silly person\r\n' 20:54:35.345368 < 5 bytes data, client => server 20:54:35.345378 'PWD\r\n' 20:54:35.345470 Received DATA (on stdin) 20:54:35.345480 > 30 bytes data, server => client 20:54:35.345490 '257 "/" is current directory\r\n' 20:54:35.345544 < 6 bytes data, client => server 20:54:35.345554 'EPSV\r\n' 20:54:35.347325 Received DATA (on stdin) 20:54:35.347338 > 38 bytes data, server => client 20:54:35.347348 '229 Entering Passive Mode (|||36821|)\n' 20:54:35.347484 < 8 bytes data, client => server 20:54:35.347495 'TYPE I\r\n' 20:54:35.347660 Received DATA (on stdin) 20:54:35.347673 > 33 bytes data, server => client 20:54:35.347684 '200 I modify TYPE as you wanted\r\n' 20:54:35.347735 < 21 bytes data, client => server 20:54: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/23/valgrind139 ../src/curl -q --output log/23/curl139.out --include --trace-ascii log/23/trace139 --trace-config all --trace-time ftp://127.0.0.1:40137/blalbla/139 -z "1 jan 1989" > log/23/stdout139 2> log/23/stderr139 .347746 'SIZE verifiedserver\r\n' 20:54:35.347861 Received DATA (on stdin) 20:54:35.347872 > 8 bytes data, server => client 20:54:35.347882 '213 18\r\n' 20:54:35.347925 < 21 bytes data, client => server 20:54:35.347937 'RETR verifiedserver\r\n' 20:54:35.348148 Received DATA (on stdin) 20:54:35.348167 > 29 bytes data, server => client 20:54:35.348178 '150 Binary junk (18 bytes).\r\n' 20:54:35.348732 Received DATA (on stdin) 20:54:35.348745 > 28 bytes data, server => client 20:54:35.348756 '226 File transfer complete\r\n' 20:54:35.390827 < 6 bytes data, client => server 20:54:35.390886 'QUIT\r\n' 20:54:35.391281 Received DATA (on stdin) 20:54:35.391294 > 18 bytes data, server => client 20:54:35.391303 '221 bye bye baby\r\n' 20:54:35.392342 ====> Client disconnect 20:54:35.392527 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.347046 Running IPv4 version 20:54:35.347095 Listening on port 36821 20:54:35.347123 Wrote pid 112593 to log/9/server/ftp_sockdata.pid 20:54:35.347138 Received PING (on stdin) 20:54:35.347212 Received PORT (on stdin) 20:54:35.347456 ====> Client connect 20:54:35.348187 Received DATA (on stdin) 20:54:35.348200 > 18 bytes data, server => client 20:54:35.348211 'WE ROOLZ: 110717\r\n' 20:54:35.348257 Received DISC (on stdin) 20:54:35.348279 ====> Client forcibly disconnected 20:54:35.348454 Received QUIT (on stdin) 20:54:35.348469 quits 20:54:35.348525 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 ==112910== ==112910== Process terminating with default action of signal 4 (SIGILL) ==112910== Illegal opcode at address 0x4003082 ==112910== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112910== by 0x4003082: main (tool_main.c:243) === End of file valgrind138 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/23/valgrind139 ../src/curl -q --output log/23/curl139.out --include --trace-ascii log/23/trace139 --trace-config all --trace-time ftp://127.0.0.1:40137/blalbla/139 -z "1 jan 1989" > log/23/stdout139 2> log/23/stderr139 139: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 139 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind139 ../src/curl -q --output log/23/curl139.out --include --trace-ascii log/23/trace139 --trace-config all --trace-time ftp://127.0.0.1:40137/blalbla/139 -z "1 jan 1989" > log/23/stdout139 2> log/23/stderr139 === End of file commands.log === Start of file ftp_server.log 20:54:35.155262 ====> Client connect 20:54:35.155508 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.155779 < "USER anonymous" 20:54:35.155810 > "331 We are happy you popped in![CR][LF]" 20:54:35.155948 < "PASS ftp@example.com" 20:54:35.155969 > "230 Welcome you silly person[CR][LF]" 20:54:35.156123 < "PWD" 20:54:35.156168 > "257 "/" is current directory[CR][LF]" 20:54:35.156347 < "EPSV" 20:54:35.156376 ====> Passive DATA channel requested by client 20:54:35.156389 DATA sockfilt for passive data channel starting... 20:54:35.157887 DATA sockfilt for passive data channel started (pid 112891) 20:54:35.158001 DATA sockfilt for passive data channel listens on port 33069 20:54:35.158042 > "229 Entering Passive Mode (|||33069|)[LF]" 20:54:35.158058 Client has been notified that DATA conn will be accepted on port 33069 20:54:35.158446 Client connects to port 33069 20:54:35.158476 ====> Client established passive DATA connection on port 33069 20:54:35.158543 < "TYPE I" 20:54:35.158570 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.158732 < "SIZE verifiedserver" 20:54:35.158763 > "213 18[CR][LF]" 20:54:35.158877 < "RETR verifiedserver" 20:54:35.158906 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.159094 =====> Closing passive DATA connection... 20:54:35.159123 Server disconnects passive DATA connection 20:54:35.159219 Server disconnected passive DATA connection 20:54:35.159239 DATA sockfilt for passive data channel quits (pid 112891) 20:54:35.159519 DATA sockfilt for passive data channel quit (pid 112891) 20:54:35.159550 =====> Closed passive DATA connection 20:54:35.159582 > "226 File transfer complete[CR][LF]" 20:54:35.206389 < "QUIT" 20:54:35.206445 > "221 bye bye baby[CR][LF]" 20:54:35.206864 MAIN sockfilt said DISC 20:54:35.206892 ====> Client disconnected 20:54:35.206961 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.376677 ====> Client connect 20:54:35.377051 Received DATA (on stdin) 20:54:35.377070 > 160 bytes data, server => client 20:54:35.377082 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.377092 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.377102 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.377168 < 16 bytes data, client => server 20:54:35.377187 'USER anonymous\r\n' 20:54:35.377325 Received DATA (on stdin) 20:54:35.377337 > 33 bytes data, server => client 20:54:35.377347 '331 We are happy you popped in!\r\n' 20:54:35.377392 < 22 bytes data, client => server 20:54:35.377409 'PASS ftp@example.com\r\n' 20:54:35.377466 Received DATA (on stdin) 20:54:35.377475 > 30 bytes data, server => client 20:54:35.377485 '230 Welcome you silly person\r\n' 20:54:35.377525 < 5 bytes data, client => server 20:54:35.377536 'PWD\r\n' 20:54:35.377685 Received DATA (on stdin) 20:54:35.377705 > 30 bytes data, server => client 20:54:35.377716 '257 "/" is current directory\r\n' 20:54:35.377769 < 6 bytes data, client => server 20:54:35.377780 'EPSV\r\n' 20:54:35.379581 Received DATA (on stdin) 20:54:35.379597 > 38 bytes data, server => client 20:54:35.379626 '229 Entering Passive Mode (|||33069|)\n' 20:54:35.379794 < 8 bytes data, client => server 20:54:35.379808 'TYPE I\r\n' 20:54:35.380084 Received DATA (on stdin) 20:54:35.380097 > 33 bytes data, server => client 20:54:35.380107 '200 I modify TYPE as you wanted\r\n' 20:54:35.380158 < 21 bytes data, client => server 20:54:35.380169 'SIZE verifiedserver\r\n' 20:54:35.380273 Received DATA (on stdin) 20:54:35.380284 > 8 bytes data, server => client 20:54:35.380294 '213 18\r\n' 20:54:35.380332 < 21 bytes data, client => server 20:54:35.380344 'RETR verifiedserver\r\n' 20:54:35.380454 Received DATA (on stdin) 20:54:35.380476 > 29 bytes data, server => client 20:54:35.380487 '150 Binary junk (18 bytes).\r\n' 20:54:35.381102 Received DATA (on stdin) 20:54:35.381119 > 28 bytes data, server => client 20:54:35.381130 '226 File transfer complete\r\n' 20:54:35.427694 < 6 bytes data, client => server 20:54:35.427722 'QUIT\r\n' 20:54:35.427963 Received DATA (on stdin) 20:54:35.427975 > 18 bytes data, server => client 20:54:35.427985 '221 bye bye baby\r\n' 20:54:35.428052 ====> Client disconnect 20:54:35.428402 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.379141 Running IPv4 version 20:54:35.379189 Listening on port 33069 20:54:35.379229 Wrote pid 112891 to log/23/server/ftp_sockdata.pid 20:54:35.379345 Received PING (on stdin) 20:54:35.379437 Received PORT (on stdin) 20:54:35.379910 ====> Client connect 20:54:35.380572 Received DATA (on stdin) 20:54:35.380589 > 18 bytes data, server => client 20:54:35.380599 'WE ROOLZ: 110718\r\n' 20:54:35.380686 Received DISC (on stdin) 20:54:35.380703 ====> Client forcibly disconnected 20:54:35.380763 Received QUIT (on stdin) 20:54: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/21/valgrind133 ../src/curl -q --output log/21/curl133.out --include --trace-ascii log/21/trace133 --trace-config all --trace-time -n --netrc-file log/21/netrc133 ftp://mary:mark@127.0.0.1:44075/ > log/21/stdout133 2> log/21/stderr133 CMD (33792): ../libtool --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/valgrind135 ../src/curl -q --output log/3/curl135.out --include --trace-ascii log/3/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:39117/135 > log/3/stdout135 2> log/3/stderr135 CMD (33792): ../libtool --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/valgrind131 ../src/curl -q --output log/1/curl131.out --include --trace-ascii log/1/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/1/netrc131 ftp://user2@127.0.0.1:33539/ > log/1/stdout131 2> log/1/stderr131 5.380779 quits 20:54:35.380847 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==112981== ==112981== Process terminating with default action of signal 4 (SIGILL) ==112981== Illegal opcode at address 0x4003082 ==112981== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112981== by 0x4003082: main (tool_main.c:243) === End of file valgrind139 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/21/valgrind133 ../src/curl -q --output log/21/curl133.out --include --trace-ascii log/21/trace133 --trace-config all --trace-time -n --netrc-file log/21/netrc133 ftp://mary:mark@127.0.0.1:44075/ > log/21/stdout133 2> log/21/stderr133 133: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind133 ../src/curl -q --output log/21/curl133.out --include --trace-ascii log/21/trace133 --trace-config all --trace-time -n --netrc-file log/21/netrc133 ftp://mary:mark@127.0.0.1:44075/ > log/21/stdout133 2> log/21/stderr133 === End of file commands.log === Start of file ftp_server.log 20:54:35.050685 ====> Client connect 20:54:35.050862 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.051130 < "USER anonymous" 20:54:35.051168 > "331 We are happy you popped in![CR][LF]" 20:54:35.051336 < "PASS ftp@example.com" 20:54:35.051360 > "230 Welcome you silly person[CR][LF]" 20:54:35.051564 < "PWD" 20:54:35.051612 > "257 "/" is current directory[CR][LF]" 20:54:35.051781 < "EPSV" 20:54:35.051806 ====> Passive DATA channel requested by client 20:54:35.051819 DATA sockfilt for passive data channel starting... 20:54:35.053850 DATA sockfilt for passive data channel started (pid 112410) 20:54:35.053955 DATA sockfilt for passive data channel listens on port 41625 20:54:35.053996 > "229 Entering Passive Mode (|||41625|)[LF]" 20:54:35.054012 Client has been notified that DATA conn will be accepted on port 41625 20:54:35.054681 Client connects to port 41625 20:54:35.054714 ====> Client established passive DATA connection on port 41625 20:54:35.054787 < "TYPE I" 20:54:35.054818 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.054953 < "SIZE verifiedserver" 20:54:35.054990 > "213 18[CR][LF]" 20:54:35.055107 < "RETR verifiedserver" 20:54:35.055136 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.055204 =====> Closing passive DATA connection... 20:54:35.055219 Server disconnects passive DATA connection 20:54:35.055384 Server disconnected passive DATA connection 20:54:35.055407 DATA sockfilt for passive data channel quits (pid 112410) 20:54:35.055619 DATA sockfilt for passive data channel quit (pid 112410) 20:54:35.055650 =====> Closed passive DATA connection 20:54:35.055679 > "226 File transfer complete[CR][LF]" 20:54:35.095780 < "QUIT" 20:54:35.095838 > "221 bye bye baby[CR][LF]" 20:54:35.096564 MAIN sockfilt said DISC 20:54:35.096610 ====> Client disconnected 20:54:35.096673 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.272099 ====> Client connect 20:54:35.272385 Received DATA (on stdin) 20:54:35.272400 > 160 bytes data, server => client 20:54:35.272411 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.272422 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.272432 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.272498 < 16 bytes data, client => server 20:54:35.272510 'USER anonymous\r\n' 20:54:35.272688 Received DATA (on stdin) 20:54:35.272713 > 33 bytes data, server => client 20:54:35.272725 '331 We are happy you popped in!\r\n' 20:54:35.272791 < 22 bytes data, client => server 20:54:35.272804 'PASS ftp@example.com\r\n' 20:54:35.272874 Received DATA (on stdin) 20:54:35.272889 > 30 bytes data, server => client 20:54:35.272899 '230 Welcome you silly person\r\n' 20:54:35.272955 < 5 bytes data, client => server 20:54:35.272971 'PWD\r\n' 20:54:35.273127 Received DATA (on stdin) 20:54:35.273140 > 30 bytes data, server => client 20:54:35.273151 '257 "/" is current directory\r\n' 20:54:35.273218 < 6 bytes data, client => server 20:54:35.273229 'EPSV\r\n' 20:54:35.275531 Received DATA (on stdin) 20:54:35.275546 > 38 bytes data, server => client 20:54:35.275557 '229 Entering Passive Mode (|||41625|)\n' 20:54:35.275675 < 8 bytes data, client => server 20:54:35.275686 'TYPE I\r\n' 20:54:35.276331 Received DATA (on stdin) 20:54:35.276343 > 33 bytes data, server => client 20:54:35.276354 '200 I modify TYPE as you wanted\r\n' 20:54:35.276408 < 21 bytes data, client => server 20:54:35.276421 'SIZE verifiedserver\r\n' 20:54:35.276504 Received DATA (on stdin) 20:54:35.276515 > 8 bytes data, server => client 20:54:35.276524 '213 18\r\n' 20:54:35.276565 < 21 bytes data, client => server 20:54:35.276576 'RETR verifiedserver\r\n' 20:54:35.276732 Received DATA (on stdin) 20:54:35.276744 > 29 bytes data, server => client 20:54:35.276753 '150 Binary junk (18 bytes).\r\n' 20:54:35.277195 Received DATA (on stdin) 20:54:35.277209 > 28 bytes data, server => client 20:54:35.277220 '226 File transfer complete\r\n' 20:54:35.317056 < 6 bytes data, client => server 20:54:35.317084 'QUIT\r\n' 20:54:35.317576 Received DATA (on stdin) 20:54:35.317594 > 18 bytes data, server => client 20:54:35.317605 '221 bye bye baby\r\n' 20:54:35.318015 ====> Client disconnect 20:54:35.318118 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.275190 Running IPv4 version 20:54:35.275249 Listening on port 41625 20:54:35.275287 Wrote pid 112410 to log/21/server/ftp_sockdata.pid 20:54:35.275304 Received PING (on stdin) 20:54:35.275391 Received PORT (on stdin) 20:54:35.275680 ====> Client connect 20:54:35.276778 Received DATA (on stdin) 20:54:35.276792 > 18 bytes data, server => client 20:54:35.276803 'WE ROOLZ: 110702\r\n' 20:54:35.276825 Received DISC (on stdin) 20:54:35.276836 ====> Client forcibly disconnected 20:54:35.276925 Received QUIT (on stdin) 20:54:35.276935 quits 20:54:35.276979 ============> 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 ==112473== ==112473== Process terminating with default action of signal 4 (SIGILL) ==112473== Illegal opcode at address 0x4003082 ==112473== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112473== by 0x4003082: main (tool_main.c:243) === End of file valgrind133 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/1/valgrind131 ../src/curl -q --output log/1/curl131.out --include --trace-ascii log/1/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/1/netrc131 ftp://user2@127.0.0.1:33539/ > log/1/stdout131 2> log/1/stderr131 131: 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 131 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-CMD (33792): ../libtool --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/valgrind130 ../src/curl -q --output log/5/curl130.out --include --trace-ascii log/5/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/5/netrc130 ftp://127.0.0.1:45115/ > log/5/stdout130 2> log/5/stderr130 CMD (33792): ../libtool --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:39989/ > log/8/stdout134 2> log/8/stderr134 check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind131 ../src/curl -q --output log/1/curl131.out --include --trace-ascii log/1/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/1/netrc131 ftp://user2@127.0.0.1:33539/ > log/1/stdout131 2> log/1/stderr131 === End of file commands.log === Start of file ftp_server.log 20:54:35.043634 ====> Client connect 20:54:35.043775 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.044047 < "USER anonymous" 20:54:35.044097 > "331 We are happy you popped in![CR][LF]" 20:54:35.044328 < "PASS ftp@example.com" 20:54:35.044358 > "230 Welcome you silly person[CR][LF]" 20:54:35.044488 < "PWD" 20:54:35.044521 > "257 "/" is current directory[CR][LF]" 20:54:35.044685 < "EPSV" 20:54:35.044713 ====> Passive DATA channel requested by client 20:54:35.044726 DATA sockfilt for passive data channel starting... 20:54:35.046272 DATA sockfilt for passive data channel started (pid 112362) 20:54:35.046394 DATA sockfilt for passive data channel listens on port 40005 20:54:35.046441 > "229 Entering Passive Mode (|||40005|)[LF]" 20:54:35.046461 Client has been notified that DATA conn will be accepted on port 40005 20:54:35.046682 Client connects to port 40005 20:54:35.046726 ====> Client established passive DATA connection on port 40005 20:54:35.046831 < "TYPE I" 20:54:35.046869 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.047046 < "SIZE verifiedserver" 20:54:35.047091 > "213 18[CR][LF]" 20:54:35.047258 < "RETR verifiedserver" 20:54:35.047289 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.047358 =====> Closing passive DATA connection... 20:54:35.047375 Server disconnects passive DATA connection 20:54:35.047493 Server disconnected passive DATA connection 20:54:35.047512 DATA sockfilt for passive data channel quits (pid 112362) 20:54:35.047733 DATA sockfilt for passive data channel quit (pid 112362) 20:54:35.047762 =====> Closed passive DATA connection 20:54:35.047788 > "226 File transfer complete[CR][LF]" 20:54:35.095550 < "QUIT" 20:54:35.095598 > "221 bye bye baby[CR][LF]" 20:54:35.095732 MAIN sockfilt said DISC 20:54:35.095760 ====> Client disconnected 20:54:35.095836 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.265017 ====> Client connect 20:54:35.265297 Received DATA (on stdin) 20:54:35.265311 > 160 bytes data, server => client 20:54:35.265323 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.265334 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.265343 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.265404 < 16 bytes data, client => server 20:54:35.265417 'USER anonymous\r\n' 20:54:35.265618 Received DATA (on stdin) 20:54:35.265636 > 33 bytes data, server => client 20:54:35.265647 '331 We are happy you popped in!\r\n' 20:54:35.265768 < 22 bytes data, client => server 20:54:35.265783 'PASS ftp@example.com\r\n' 20:54:35.265875 Received DATA (on stdin) 20:54:35.265888 > 30 bytes data, server => client 20:54:35.265898 '230 Welcome you silly person\r\n' 20:54:35.265941 < 5 bytes data, client => server 20:54:35.265952 'PWD\r\n' 20:54:35.266034 Received DATA (on stdin) 20:54:35.266046 > 30 bytes data, server => client 20:54:35.266058 '257 "/" is current directory\r\n' 20:54:35.266116 < 6 bytes data, client => server 20:54:35.266129 'EPSV\r\n' 20:54:35.267983 Received DATA (on stdin) 20:54:35.267997 > 38 bytes data, server => client 20:54:35.268009 '229 Entering Passive Mode (|||40005|)\n' 20:54:35.268132 < 8 bytes data, client => server 20:54:35.268147 'TYPE I\r\n' 20:54:35.268387 Received DATA (on stdin) 20:54:35.268403 > 33 bytes data, server => client 20:54:35.268414 '200 I modify TYPE as you wanted\r\n' 20:54:35.268463 < 21 bytes data, client => server 20:54:35.268474 'SIZE verifiedserver\r\n' 20:54:35.268608 Received DATA (on stdin) 20:54:35.268623 > 8 bytes data, server => client 20:54:35.268652 '213 18\r\n' 20:54:35.268710 < 21 bytes data, client => server 20:54:35.268723 'RETR verifiedserver\r\n' 20:54:35.269237 Received DATA (on stdin) 20:54:35.269253 > 29 bytes data, server => client 20:54:35.269264 '150 Binary junk (18 bytes).\r\n' 20:54:35.269285 Received DATA (on stdin) 20:54:35.269295 > 28 bytes data, server => client 20:54:35.269305 '226 File transfer complete\r\n' 20:54:35.316883 < 6 bytes data, client => server 20:54:35.316915 'QUIT\r\n' 20:54:35.317114 Received DATA (on stdin) 20:54:35.317124 > 18 bytes data, server => client 20:54:35.317132 '221 bye bye baby\r\n' 20:54:35.317185 ====> Client disconnect 20:54:35.317351 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.267606 Running IPv4 version 20:54:35.267676 Listening on port 40005 20:54:35.267713 Wrote pid 112362 to log/1/server/ftp_sockdata.pid 20:54:35.267732 Received PING (on stdin) 20:54:35.267825 Received PORT (on stdin) 20:54:35.268132 ====> Client connect 20:54:35.268892 Received DATA (on stdin) 20:54:35.268909 > 18 bytes data, server => client 20:54:35.268919 'WE ROOLZ: 110705\r\n' 20:54:35.268945 Received DISC (on stdin) 20:54:35.268957 ====> Client forcibly disconnected 20:54:35.269031 Received QUIT (on stdin) 20:54:35.269041 quits 20:54:35.269089 ============> 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 ==112476== ==112476== Process terminating with default action of signal 4 (SIGILL) ==112476== Illegal opcode at address 0x4003082 ==112476== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112476== by 0x4003082: main (tool_main.c:243) === End of file valgrind131 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/3/valgrind135 ../src/curl -q --output log/3/curl135.out --include --trace-ascii log/3/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:39117/135 > log/3/stdout135 2> log/3/stderr135 135: 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 135 === Start of file commands.log ../libtool --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/valgrind135 ../src/curl -q --output log/3/curl135.out --include --trace-ascii log/3/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:39117/135 > log/3/stdout135 2> log/3/stderr135 === End of file commands.log === Start of file ftp_server.log 20:54:35.056463 ====> Client connect 20:54:35.056579 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.056837 < "USER anonymous" 20:54:35.056877 > "331 We are happy you popped in![CR][LF]" 20:54:35.057067 < "PASS ftp@example.com" 20:54:35.057101 > "230 Welcome you silly person[CR][LF]" 20:54:35.057236 < "PWD" 20:54:35.057264 > "257 "/" is current directory[CR][LF]" 20:54:35.057417 < "EPSV" 20:54:35.057452 ====> Passive DATA channel requested by client 20:54:35.057467 DATA sockfilt for passive data channel starting... 20:54:35.058976 DATA sockfilt for passive data channel started (pid 112434) 20:54:35.059117 DATA sockfilt for passive data channel listens on port 40385 20:54:35.059176 > "229 Entering Passive Mode (|||40385|)[LF]" 20:54:35.059193 Client has been notified that DATA conn will be accepted on port 40385 20:54:35.059399 Client connects to port 40385 20:54:35.059437 ====> Client established passive DATA connection on port 40385 20:54:35.059506 < "TYPE I" 20:54:35.059541 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.059673 < "SIZE verifiedserver" 20:54:35.059708 > "213 18[CR][LF]" 20:54:35.059875 < "RETR verifiedserver" 20:54:35.059907 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.059973 =====> Closing passive DATA connection... 20:54:35.059988 Server disconnects passive DATA connection 20:54:35.060081 Server disconnected passive DATA connection 20:54:35.060105 DATA sockfilt for passive data channel quits (pid 112434) 20:54:35.060318 DATA sockfilt for passive data channel quit (pid 112434) 20:54:35.060337 =====> Closed passive DATA connection 20:54:35.060363 > "226 File transfer complete[CR][LF]" 20:54:35.105687 < "QUIT" 20:54:35.105734 > "221 bye bye baby[CR][LF]" 20:54:35.106671 MAIN sockfilt said DISC 20:54:35.106697 ====> Client disconnected 20:54:35.106758 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.277893 ====> Client connect 20:54:35.278096 Received DATA (on stdin) 20:54:35.278107 > 160 bytes data, server => client 20:54:35.278116 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.278123 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.278131 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.278188 < 16 bytes data, client => server 20:54:35.278207 'USER anonymous\r\n' 20:54:35.278394 Received DATA (on stdin) 20:54:35.278409 > 33 bytes data, server => client 20:54:35.278417 '331 We are happy you popped in!\r\n' 20:54:35.278468 < 22 bytes data, client => server 20:54:35.278482 'PASS ftp@example.com\r\n' 20:54:35.278614 Received DATA (on stdin) 20:54:35.278625 > 30 bytes data, server => client 20:54:35.278635 '230 Welcome you silly person\r\n' 20:54:35.278676 < 5 bytes data, client => server 20:54:35.278686 'PWD\r\n' 20:54:35.278775 Received DATA (on stdin) 20:54:35.278785 > 30 bytes data, server => client 20:54:35.278795 '257 "/" is current directory\r\n' 20:54:35.278847 < 6 bytes data, client => server 20:54:35.278858 'EPSV\r\n' 20:54:35.280712 Received DATA (on stdin) 20:54:35.280725 > 38 bytes data, server => client 20:54:35.280735 '229 Entering Passive Mode (|||40385|)\n' 20:54:35.280852 < 8 bytes data, client => server 20:54:35.280862 'TYPE I\r\n' 20:54:35.281054 Received DATA (on stdin) 20:54:35.281066 > 33 bytes data, server => client 20:54:35.281077 '200 I modify TYPE as you wanted\r\n' 20:54:35.281130 < 21 bytes data, client => server 20:54:35.281141 'SIZE verifiedserver\r\n' 20:54:35.281228 Received DATA (on stdin) 20:54:35.281244 > 8 bytes data, server => client 20:54:35.281255 '213 18\r\n' 20:54:35.281311 < 21 bytes data, client => server 20:54:35.281322 'RETR verifiedserver\r\n' 20:54:35.281402 Received DATA (on stdin) 20:54:35.281420 > 29 bytes data, server => client 20:54:35.281431 '150 Binary junk (18 bytes).\r\n' 20:54:35.281877 Received DATA (on stdin) 20:54:35.281892 > 28 bytes data, server => client 20:54:35.281901 '226 File transfer complete\r\n' 20:54:35.327047 < 6 bytes data, client => server 20:54:35.327070 'QUIT\r\n' 20:54:35.327252 Received DATA (on stdin) 20:54:35.327264 > 18 bytes data, server => client 20:54:35.327274 '221 bye bye baby\r\n' 20:54:35.328126 ====> Client disconnect 20:54:35.328273 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.280331 Running IPv4 version 20:54:35.280383 Listening on port 40385 20:54:35.280421 Wrote pid 112434 to log/3/server/ftp_sockdata.pid 20:54:35.280439 Received PING (on stdin) 20:54:35.280530 Received PORT (on stdin) 20:54:35.280856 ====> Client connect 20:54:35.281484 Received DATA (on stdin) 20:54:35.281497 > 18 bytes data, server => client 20:54:35.281506 'WE ROOLZ: 110703\r\n' 20:54:35.281529 Received DISC (on stdin) 20:54:35.281540 ====> Client forcibly disconnected 20:54:35.281625 Received QUIT (on stdin) 20:54:35.281635 quits 20:54:35.281687 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==112539== ==112539== Process terminating with default action of signal 4 (SIGILL) ==112539== Illegal opcode at address 0x4003082 ==112539== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112539== by 0x4003082: main (tool_main.c:243) === End of file valgrind135 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/5/valgrind130 ../src/curl -q --output log/5/curl130.out --include --trace-ascii log/5/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/5/netrc130 ftp://127.0.0.1:45115/ > log/5/stdout130 2> log/5/stderr130 130: 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 130 === Start of file commands.log ../libtool --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/valgrind130 ../src/curl -q --output log/5/curl130.out --include --trace-ascii log/5/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/5/netrc130 ftp://127.0.0.1:45115/ > log/5/stdout130 2> log/5/stderr130 === End of file commands.log === Start of file ftp_server.log 20:54:35.043387 ====> Client connect 20:54:35.043530 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.043799 < "USER anonymous" 20:54:35.043851 > "331 We are happy you popped in![CR][LF]" 20:54:35.044076 < "PASS ftp@example.com" 20:54:35.044104 > "230 Welcome you silly person[CR][LF]" 20:54:35.044255 < "PWD" 20:54:35.044284 > "257 "/" is current directory[CR][LF]" 20:54:35.044444 < "EPSV" 20:54:35.044472 ====> Passive DATA channel requested by client 20:54:35.044487 DATA sockfilt for passive data channel starting... 20:54:35.046115 DATA sockfilt for passive data channel started (pid 112359) 20:54:35.046234 DATA sockfilt for passive data channel listens on port 42083 20:54:35.046280 > "229 Entering Passive Mode (|||42083|)[LF]" 20:54:35.046298 Client has been notified that DATA conn will be accepted on port 42083 20:54:35.046502 Client connects to port 42083 20:54:35.046520 ====> Client established passive DATA connection on port 42083 20:54:35.046580 < "TYPE I" 20:54:35.046605 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.046785 < "SIZE verifiedserver" 20:54:35.046820 > "213 18[CR][LF]" 20:54:35.046992 < "RETR verifiedserver" 20:54:35.047035 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.047099 =====> Closing passive DATA connection... 20:54:35.047111 Server disconnects passive DATA connection 20:54:35.047327 Server disconnected passive DATA connection 20:54:35.047356 DATA sockfilt for passive data channel quits (pid 112359) 20:54:35.047566 DATA sockfilt for passive data channel quit (pid 112359) 20:54:35.047590 =====> Closed passive DATA connection 20:54:35.047619 > "226 File transfer complete[CR][LF]" 20:54:35.095656 < "QUIT" 20:54:35.095721 > "221 bye bye baby[CR][LF]" 20:54:35.095937 MAIN sockfilt said DISC 20:54:35.095962 ====> Client disconnected 20:54:35.096010 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.264819 ====> Client connect 20:54:35.265043 Received DATA (on stdin) 20:54:35.265057 > 160 bytes data, server => client 20:54:35.265068 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.265079 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.265088 '_ {| |___CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind132 ../src/curl -q --output log/14/curl132.out --include --trace-ascii log/14/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/14/netrc132 ftp://mary:mark@127.0.0.1:36539/ > log/14/stdout132 2> log/14/stderr132 \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.265154 < 16 bytes data, client => server 20:54:35.265165 'USER anonymous\r\n' 20:54:35.265376 Received DATA (on stdin) 20:54:35.265395 > 33 bytes data, server => client 20:54:35.265407 '331 We are happy you popped in!\r\n' 20:54:35.265499 < 22 bytes data, client => server 20:54:35.265514 'PASS ftp@example.com\r\n' 20:54:35.265618 Received DATA (on stdin) 20:54:35.265630 > 30 bytes data, server => client 20:54:35.265640 '230 Welcome you silly person\r\n' 20:54:35.265688 < 5 bytes data, client => server 20:54:35.265700 'PWD\r\n' 20:54:35.265797 Received DATA (on stdin) 20:54:35.265809 > 30 bytes data, server => client 20:54:35.265820 '257 "/" is current directory\r\n' 20:54:35.265876 < 6 bytes data, client => server 20:54:35.265888 'EPSV\r\n' 20:54:35.267804 Received DATA (on stdin) 20:54:35.267826 > 38 bytes data, server => client 20:54:35.267837 '229 Entering Passive Mode (|||42083|)\n' 20:54:35.267996 < 8 bytes data, client => server 20:54:35.268008 'TYPE I\r\n' 20:54:35.268121 Received DATA (on stdin) 20:54:35.268137 > 33 bytes data, server => client 20:54:35.268149 '200 I modify TYPE as you wanted\r\n' 20:54:35.268216 < 21 bytes data, client => server 20:54:35.268229 'SIZE verifiedserver\r\n' 20:54:35.268335 Received DATA (on stdin) 20:54:35.268346 > 8 bytes data, server => client 20:54:35.268357 '213 18\r\n' 20:54:35.268399 < 21 bytes data, client => server 20:54:35.268410 'RETR verifiedserver\r\n' 20:54:35.268625 Received DATA (on stdin) 20:54:35.268638 > 29 bytes data, server => client 20:54:35.268647 '150 Binary junk (18 bytes).\r\n' 20:54:35.269136 Received DATA (on stdin) 20:54:35.269148 > 28 bytes data, server => client 20:54:35.269159 '226 File transfer complete\r\n' 20:54:35.317027 < 6 bytes data, client => server 20:54:35.317050 'QUIT\r\n' 20:54:35.317239 Received DATA (on stdin) 20:54:35.317253 > 18 bytes data, server => client 20:54:35.317264 '221 bye bye baby\r\n' 20:54:35.317402 ====> Client disconnect 20:54:35.317522 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.267450 Running IPv4 version 20:54:35.267512 Listening on port 42083 20:54:35.267551 Wrote pid 112359 to log/5/server/ftp_sockdata.pid 20:54:35.267569 Received PING (on stdin) 20:54:35.267669 Received PORT (on stdin) 20:54:35.267965 ====> Client connect 20:54:35.268670 Received DATA (on stdin) 20:54:35.268688 > 18 bytes data, server => client 20:54:35.268699 'WE ROOLZ: 110701\r\n' 20:54:35.268729 Received DISC (on stdin) 20:54:35.268743 ====> Client forcibly disconnected 20:54:35.268878 Received QUIT (on stdin) 20:54:35.268890 quits 20:54:35.268945 ============> 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 ==112477== ==112477== Process terminating with default action of signal 4 (SIGILL) ==112477== Illegal opcode at address 0x4003082 ==112477== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112477== by 0x4003082: main (tool_main.c:243) === End of file valgrind130 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:39989/ > 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 commands.log ../libtool --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:39989/ > log/8/stdout134 2> log/8/stderr134 === End of file commands.log === Start of file ftp_server.log 20:54:35.056460 ====> Client connect 20:54:35.056599 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.056919 < "USER anonymous" 20:54:35.056954 > "331 We are happy you popped in![CR][LF]" 20:54:35.057149 < "PASS ftp@example.com" 20:54:35.057198 > "230 Welcome you silly person[CR][LF]" 20:54:35.057335 < "PWD" 20:54:35.057365 > "257 "/" is current directory[CR][LF]" 20:54:35.057521 < "EPSV" 20:54:35.057546 ====> Passive DATA channel requested by client 20:54:35.057559 DATA sockfilt for passive data channel starting... 20:54:35.059162 DATA sockfilt for passive data channel started (pid 112436) 20:54:35.059287 DATA sockfilt for passive data channel listens on port 37151 20:54:35.059329 > "229 Entering Passive Mode (|||37151|)[LF]" 20:54:35.059345 Client has been notified that DATA conn will be accepted on port 37151 20:54:35.059521 Client connects to port 37151 20:54:35.059547 ====> Client established passive DATA connection on port 37151 20:54:35.059624 < "TYPE I" 20:54:35.059655 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.059787 < "SIZE verifiedserver" 20:54:35.059818 > "213 18[CR][LF]" 20:54:35.059951 < "RETR verifiedserver" 20:54:35.059984 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.060049 =====> Closing passive DATA connection... 20:54:35.060064 Server disconnects passive DATA connection 20:54:35.060146 Server disconnected passive DATA connection 20:54:35.060166 DATA sockfilt for passive data channel quits (pid 112436) 20:54:35.060370 DATA sockfilt for passive data channel quit (pid 112436) 20:54:35.060390 =====> Closed passive DATA connection 20:54:35.060416 > "226 File transfer complete[CR][LF]" 20:54:35.102382 < "QUIT" 20:54:35.102429 > "221 bye bye baby[CR][LF]" 20:54:35.102656 MAIN sockfilt said DISC 20:54:35.102693 ====> Client disconnected 20:54:35.102753 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.277885 ====> Client connect 20:54:35.278121 Received DATA (on stdin) 20:54:35.278137 > 160 bytes data, server => client 20:54:35.278149 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.278192 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.278217 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.278305 < 16 bytes data, client => server 20:54:35.278324 'USER anonymous\r\n' 20:54:35.278470 Received DATA (on stdin) 20:54:35.278482 > 33 bytes data, server => client 20:54:35.278493 '331 We are happy you popped in!\r\n' 20:54:35.278548 < 22 bytes data, client => server 20:54:35.278561 'PASS ftp@example.com\r\n' 20:54:35.278701 Received DATA (on stdin) 20:54:35.278722 > 30 bytes data, server => client 20:54:35.278734 '230 Welcome you silly person\r\n' 20:54:35.278790 < 5 bytes data, client => server 20:54:35.278802 'PWD\r\n' 20:54:35.278883 Received DATA (on stdin) 20:54:35.278902 > 30 bytes data, server => client 20:54:35.278914 '257 "/" is current directory\r\n' 20:54:35.278976 < 6 bytes data, client => server 20:54:35.278987 'EPSV\r\n' 20:54:35.280867 Received DATA (on stdin) 20:54:35.280880 > 38 bytes data, server => client 20:54:35.280891 '229 Entering Passive Mode (|||37151|)\n' 20:54:35.281007 < 8 bytes data, client => server 20:54:35.281021 'TYPE I\r\n' 20:54:35.281163 Received DATA (on stdin) 20:54:35.281176 > 33 bytes data, server => client 20:54:35.281184 '200 I modify TYPE as you wanted\r\n' 20:54:35.281222 < 21 bytes data, client => server 20:54:35.281234 'SIZE verifiedserver\r\n' 20:54:35.281334 Received DATA (on stdin) 20:54:35.281345 > 8 bytes data, server => client 20:54:35.281354 '213 18\r\n' 20:54:35.281396 < 21 bytes data, client => server 20:54:35.281407 'RETR verifiedserver\r\n' 20:54:35.281519 Received DATA (on stdin) 20:54:35.281535 > 29 bytes data, server => client 20:54:35.281546 '150 Binary junk (18 bytes).\r\n' 20:54:35.281930 Received DATA (on stdin) 20:54:35.281944 > 28 bytes data, server => client 20:54:35.281954 '226 File transfer complete\r\n' 20:54:35.323750 < 6 bytes data, client => server 20:54:35.323773 'QUIT\r\n' 20:54:35.323946 Received DATA (on stdin) 20:54:35.323988 > 18 bytes data, server => client 20:54:35.323999 '221 bye bye baby\r\n' 20:54:35.324112 ====> Client disconnect 20:54:35.324268 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.280510 Running IPv4 version 20:54:35.280563 Listening on port 37151 20:54:35.280600 Wrote pid 112436 to log/8/server/ftp_sockdata.pid 20:54:35.280618 Received PING (on stdin) 20:54:35.280719 Received PORT (on stdin) 20:54:35.280988 ====> Client connect 20:54:35.281507 Received DATA (on stdin) 20:54:35.281521 > 18 bytes data, server => client 20:54:35.281531 'WE ROOLZ: 110704\r\n' 20:54:35.281589 Received DISC (on stdin) 20:54:35.281602 ====> Client forcibly disconnected 20:54:35.281682 Received QUIT (on stdin) 20:54:35.281692 quits 20:54:35.281741 ============> 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 ==112515== ==112515== Process terminating with default action of signal 4 (SIGILL) ==112515== Illegal opcode at address 0x4003082 ==112515== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112515== by 0x4003082: main (tool_main.c:243) === End of file valgrind134 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/14/valgrind132 ../src/curl -q --output log/14/curl132.out --include --trace-ascii log/14/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/14/netrc132 ftp://mary:mark@127.0.0.1:36539/ > log/14/stdout132 2> log/14/stderr132 132: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind132 ../src/curl -q --output log/14/curl132.out --include --trace-ascii log/14/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/14/netrc132 ftp://mary:mark@127.0.0.1:36539/ > log/14/stdout132 2> log/14/stderr132 === End of file commands.log === Start of file ftp_server.log 20:54:35.048909 ====> Client connect 20:54:35.049063 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.049444 < "USER anonymous" 20:54:35.049477 > "331 We are happy you popped in![CR][LF]" 20:54:35.049634 < "PASS ftp@example.com" 20:54:35.049658 > "230 Welcome you silly person[CR][LF]" 20:54:35.049796 < "PWD" 20:54:35.049826 > "257 "/" is current directory[CR][LF]" 20:54:35.050103 < "EPSV" 20:54:35.050131 ====> Passive DATA channel requested by client 20:54:35.050143 DATA sockfilt for passive data channel starting... 20:54:35.051989 DATA sockfilt for passive data channel started (pid 112395) 20:54:35.052097 DATA sockfilt for passive data channel listens on port 41733 20:54:35.052133 > "229 Entering Passive Mode (|||41733|)[LF]" 20:54:35.052147 Client has been notified that DATA conn will be accepted on port 41733 20:54:35.052541 Client connects to port 41733 20:54:35.052581 ====> Client established passive DATA connection on port 41733 20:54:35.052655 < "TYPE I" 20:54:35.052686 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.052846 < "SIZE verifiedserver" 20:54:35.052884 > "213 18[CR][LF]" 20:54:35.053016 < "RETR verifiedserver" 20:54:35.053045 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.053124 =====> Closing passive DATA connection... 20:54:35.053139 Server disconnects passive DATA connection 20:54:35.053212 Server disconnected passive DATA connection 20:54:35.053245 DATA sockfilt for passive data channel quits (pid 112395) 20:54:35.053492 DATA sockfilt for passive data channel quit (pid 112395) 20:54:35.053521 =====> Closed passive DATA connection 20:54:35.053545 > "226 File transfer complete[CR][LF]" 20:54:35.099119 < "QUIT" 20:54:35.099192 > "221 bye bye baby[CR][LF]" 20:54:35.099818 MAIN sockfilt said DISC 20:54:35.099862 ====> Client disconnected 20:54:35.099946 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.270331 ====> Client connect 20:54:35.270583 Received DATA (on stdin) 20:54:35.270695 > 160 bytes data, server => client 20:54:35.270709 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.270720 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.270731 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.270840 < 16 bytes data, client => server 20:54:35.270863 'USER anonymous\r\n' 20:54:35.270993 Received DATA (on stdin) 20:54:35.271006 > 33 bytes data, server => client 20:54:35.271017 '331 We are happy you popped in!\r\n' 20:54:35.271067 < 22 bytes data, client => server 20:54:35.271078 'PASS ftp@example.com\r\n' 20:54:35.271169 Received DATA (on stdin) 20:54:35.271180 > 30 bytes data, server => client 20:54:35.271191 '230 Welcome you silly person\r\n' 20:54:35.271237 < 5 bytes data, client => server 20:54:35.271248 'PWD\r\n' 20:54:35.271344 Received DATA (on stdin) 20:54:35.271363 > 30 bytes data, server => client 20:54:35.271373 '257 "/" is current directory\r\n' 20:54:35.271548 < 6 bytes data, client => server 20:54:35.271565 'EPSV\r\n' 20:54:35.273623 Received DATA (on stdin) 20:54:35.273641 > 38 bytes data, server => client 20:54:35.273652 '229 Entering Passive Mode (|||41733|)\n' 20:54:35.273780 < 8 bytes data, client => server 20:54:35.273790 'TYPE I\r\n' 20:54:35.274204 Received DATA (on stdin) 20:54:35.274219 > 33 bytes data, server => client 20:54:35.274230 '200 I modify TYPE as you wanted\r\n' 20:54:35.274290 < 21 bytes data, client => server 20:54:35.274302 'SIZE verifiedserver\r\n' 20:54:35.274400 Received DATA (on stdin) 20:54:35.274413 > 8 bytes data, server => client 20:54:35.274423 '213 18\r\n' 20:54:35.274473 < 21 bytes data, client => server 20:54:35.274487 'RETR verifiedserver\r\n' 20:54:35.274654 Received DATA (on stdin) 20:54:35.274666 > 29 bytes data, server => client 20:54:35.274678 '150 Binary junk (18 bytes).\r\n' 20:54:35.275059 Received DATA (on stdin) 20:54:35.275072 > 28 bytes data, server => client 20:54:35.275082 '226 File transfer complete\r\n' 20:54:35.320317 < 6 bytes data, client => server 20:54:35.320342 'QUIT\r\n' 20:54:35.320720 Received DATA (on stdin) 20:54:35.320741 > 18 bytes data, server => client 20:54:35.320752 '221 bye bye baby\r\n' 20:54:35.321040 ====> Client disconnect 20:54:35.321431 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.273234 Running IPv4 version 20:54:35.273298 Listening on port 41733 20:54:35.273436 Wrote pid 112395 to log/14/server/ftp_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/4/valgrind136 ../src/curl -q --output log/4/curl136.out --include --trace-ascii log/4/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:45117/136 > log/4/stdout136 2> log/4/stderr136 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind137 ../src/curl -q --output log/17/curl137.out --include --trace-ascii log/17/trace137 --trace-config all --trace-time ftp://127.0.0.1:42765/blalbla/lululul/137 > log/17/stdout137 2> log/17/stderr137 kdata.pid 20:54:35.273453 Received PING (on stdin) 20:54:35.273537 Received PORT (on stdin) 20:54:35.273752 ====> Client connect 20:54:35.274569 Received DATA (on stdin) 20:54:35.274583 > 18 bytes data, server => client 20:54:35.274593 'WE ROOLZ: 110708\r\n' 20:54:35.274653 Received DISC (on stdin) 20:54:35.274666 ====> Client forcibly disconnected 20:54:35.274769 Received QUIT (on stdin) 20:54:35.274779 quits 20:54:35.274830 ============> 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 ==112490== ==112490== Process terminating with default action of signal 4 (SIGILL) ==112490== Illegal opcode at address 0x4003082 ==112490== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112490== by 0x4003082: main (tool_main.c:243) === End of file valgrind132 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/4/valgrind136 ../src/curl -q --output log/4/curl136.out --include --trace-ascii log/4/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:45117/136 > log/4/stdout136 2> log/4/stderr136 136: 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 136 === Start of file commands.log ../libtool --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/valgrind136 ../src/curl -q --output log/4/curl136.out --include --trace-ascii log/4/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:45117/136 > log/4/stdout136 2> log/4/stderr136 === End of file commands.log === Start of file ftp_server.log 20:54:35.060725 ====> Client connect 20:54:35.060868 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.061075 < "USER anonymous" 20:54:35.061102 > "331 We are happy you popped in![CR][LF]" 20:54:35.061210 < "PASS ftp@example.com" 20:54:35.061231 > "230 Welcome you silly person[CR][LF]" 20:54:35.061362 < "PWD" 20:54:35.061391 > "257 "/" is current directory[CR][LF]" 20:54:35.061534 < "EPSV" 20:54:35.061559 ====> Passive DATA channel requested by client 20:54:35.061571 DATA sockfilt for passive data channel starting... 20:54:35.062713 DATA sockfilt for passive data channel started (pid 112452) 20:54:35.062787 DATA sockfilt for passive data channel listens on port 35039 20:54:35.062817 > "229 Entering Passive Mode (|||35039|)[LF]" 20:54:35.062828 Client has been notified that DATA conn will be accepted on port 35039 20:54:35.063026 Client connects to port 35039 20:54:35.063051 ====> Client established passive DATA connection on port 35039 20:54:35.063108 < "TYPE I" 20:54:35.063135 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.063273 < "SIZE verifiedserver" 20:54:35.063299 > "213 18[CR][LF]" 20:54:35.063413 < "RETR verifiedserver" 20:54:35.063435 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.063490 =====> Closing passive DATA connection... 20:54:35.063500 Server disconnects passive DATA connection 20:54:35.063651 Server disconnected passive DATA connection 20:54:35.063670 DATA sockfilt for passive data channel quits (pid 112452) 20:54:35.063810 DATA sockfilt for passive data channel quit (pid 112452) 20:54:35.063829 =====> Closed passive DATA connection 20:54:35.063853 > "226 File transfer complete[CR][LF]" 20:54:35.108949 < "QUIT" 20:54:35.109000 > "221 bye bye baby[CR][LF]" 20:54:35.109190 MAIN sockfilt said DISC 20:54:35.109231 ====> Client disconnected 20:54:35.109297 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.282160 ====> Client connect 20:54:35.282391 Received DATA (on stdin) 20:54:35.282405 > 160 bytes data, server => client 20:54:35.282416 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.282427 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.282434 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.282482 < 16 bytes data, client => server 20:54:35.282493 'USER anonymous\r\n' 20:54:35.282613 Received DATA (on stdin) 20:54:35.282622 > 33 bytes data, server => client 20:54:35.282630 '331 We are happy you popped in!\r\n' 20:54:35.282667 < 22 bytes data, client => server 20:54:35.282679 'PASS ftp@example.com\r\n' 20:54:35.282739 Received DATA (on stdin) 20:54:35.282750 > 30 bytes data, server => client 20:54:35.282759 '230 Welcome you silly person\r\n' 20:54:35.282802 < 5 bytes data, client => server 20:54:35.282812 'PWD\r\n' 20:54:35.282902 Received DATA (on stdin) 20:54:35.282912 > 30 bytes data, server => client 20:54:35.282922 '257 "/" is current directory\r\n' 20:54:35.282970 < 6 bytes data, client => server 20:54:35.282982 'EPSV\r\n' 20:54:35.284343 Received DATA (on stdin) 20:54:35.284352 > 38 bytes data, server => client 20:54:35.284360 '229 Entering Passive Mode (|||35039|)\n' 20:54:35.284487 < 8 bytes data, client => server 20:54:35.284501 'TYPE I\r\n' 20:54:35.284648 Received DATA (on stdin) 20:54:35.284658 > 33 bytes data, server => client 20:54:35.284668 '200 I modify TYPE as you wanted\r\n' 20:54:35.284713 < 21 bytes data, client => server 20:54:35.284725 'SIZE verifiedserver\r\n' 20:54:35.284808 Received DATA (on stdin) 20:54:35.284818 > 8 bytes data, server => client 20:54:35.284827 '213 18\r\n' 20:54:35.284864 < 21 bytes data, client => server 20:54:35.284872 'RETR verifiedserver\r\n' 20:54:35.285009 Received DATA (on stdin) 20:54:35.285017 > 29 bytes data, server => client 20:54:35.285024 '150 Binary junk (18 bytes).\r\n' 20:54:35.285365 Received DATA (on stdin) 20:54:35.285377 > 28 bytes data, server => client 20:54:35.285386 '226 File transfer complete\r\n' 20:54:35.330306 < 6 bytes data, client => server 20:54:35.330327 'QUIT\r\n' 20:54:35.330519 Received DATA (on stdin) 20:54:35.330532 > 18 bytes data, server => client 20:54:35.330542 '221 bye bye baby\r\n' 20:54:35.330633 ====> Client disconnect 20:54:35.330786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.284103 Running IPv4 version 20:54:35.284141 Listening on port 35039 20:54:35.284167 Wrote pid 112452 to log/4/server/ftp_sockdata.pid 20:54:35.284182 Received PING (on stdin) 20:54:35.284238 Received PORT (on stdin) 20:54:35.284489 ====> Client connect 20:54:35.285042 Received DATA (on stdin) 20:54:35.285051 > 18 bytes data, server => client 20:54:35.285059 'WE ROOLZ: 110707\r\n' 20:54:35.285077 Received DISC (on stdin) 20:54:35.285085 ====> Client forcibly disconnected 20:54:35.285183 Received QUIT (on stdin) 20:54:35.285192 quits 20:54:35.285227 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==112538== ==112538== Process terminating with default action of signal 4 (SIGILL) ==112538== Illegal opcode at address 0x4003082 ==112538== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112538== by 0x4003082: main (tool_main.c:243) === End of file valgrind136 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/17/valgrind137 ../src/curl -q --output log/17/curl137.out --include --trace-ascii log/17/trace137 --trace-config all --trace-time ftp://127.0.0.1:42765/blalbla/lululul/137 > log/17/stdout137 2> log/17/stderr137 137: prCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind121 ../src/curl -q --output log/20/curl121.out --include --trace-ascii log/20/trace121 --trace-config all --trace-time ftp://127.0.0.1:45439/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/20/stdout121 2> log/20/stderr121 otocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind137 ../src/curl -q --output log/17/curl137.out --include --trace-ascii log/17/trace137 --trace-config all --trace-time ftp://127.0.0.1:42765/blalbla/lululul/137 > log/17/stdout137 2> log/17/stderr137 === End of file commands.log === Start of file ftp_server.log 20:54:35.065114 ====> Client connect 20:54:35.065299 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.065759 < "USER anonymous" 20:54:35.065798 > "331 We are happy you popped in![CR][LF]" 20:54:35.066031 < "PASS ftp@example.com" 20:54:35.066068 > "230 Welcome you silly person[CR][LF]" 20:54:35.066228 < "PWD" 20:54:35.066257 > "257 "/" is current directory[CR][LF]" 20:54:35.066403 < "EPSV" 20:54:35.066427 ====> Passive DATA channel requested by client 20:54:35.066439 DATA sockfilt for passive data channel starting... 20:54:35.068011 DATA sockfilt for passive data channel started (pid 112464) 20:54:35.068136 DATA sockfilt for passive data channel listens on port 43647 20:54:35.068179 > "229 Entering Passive Mode (|||43647|)[LF]" 20:54:35.068193 Client has been notified that DATA conn will be accepted on port 43647 20:54:35.068365 Client connects to port 43647 20:54:35.068393 ====> Client established passive DATA connection on port 43647 20:54:35.068460 < "TYPE I" 20:54:35.068485 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.068601 < "SIZE verifiedserver" 20:54:35.068635 > "213 18[CR][LF]" 20:54:35.068783 < "RETR verifiedserver" 20:54:35.068815 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.068886 =====> Closing passive DATA connection... 20:54:35.068901 Server disconnects passive DATA connection 20:54:35.068973 Server disconnected passive DATA connection 20:54:35.068994 DATA sockfilt for passive data channel quits (pid 112464) 20:54:35.069180 DATA sockfilt for passive data channel quit (pid 112464) 20:54:35.069205 =====> Closed passive DATA connection 20:54:35.069232 > "226 File transfer complete[CR][LF]" 20:54:35.112374 < "QUIT" 20:54:35.112421 > "221 bye bye baby[CR][LF]" 20:54:35.112558 MAIN sockfilt said DISC 20:54:35.112587 ====> Client disconnected 20:54:35.112652 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.286539 ====> Client connect 20:54:35.286824 Received DATA (on stdin) 20:54:35.286838 > 160 bytes data, server => client 20:54:35.286850 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.286943 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.286958 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.287022 < 16 bytes data, client => server 20:54:35.287031 'USER anonymous\r\n' 20:54:35.287312 Received DATA (on stdin) 20:54:35.287322 > 33 bytes data, server => client 20:54:35.287331 '331 We are happy you popped in!\r\n' 20:54:35.287405 < 22 bytes data, client => server 20:54:35.287424 'PASS ftp@example.com\r\n' 20:54:35.287583 Received DATA (on stdin) 20:54:35.287595 > 30 bytes data, server => client 20:54:35.287605 '230 Welcome you silly person\r\n' 20:54:35.287661 < 5 bytes data, client => server 20:54:35.287673 'PWD\r\n' 20:54:35.287769 Received DATA (on stdin) 20:54:35.287789 > 30 bytes data, server => client 20:54:35.287799 '257 "/" is current directory\r\n' 20:54:35.287856 < 6 bytes data, client => server 20:54:35.287866 'EPSV\r\n' 20:54:35.289711 Received DATA (on stdin) 20:54:35.289723 > 38 bytes data, server => client 20:54:35.289733 '229 Entering Passive Mode (|||43647|)\n' 20:54:35.289829 < 8 bytes data, client => server 20:54:35.289841 'TYPE I\r\n' 20:54:35.289978 Received DATA (on stdin) 20:54:35.289988 > 33 bytes data, server => client 20:54:35.289998 '200 I modify TYPE as you wanted\r\n' 20:54:35.290040 < 21 bytes data, client => server 20:54:35.290050 'SIZE verifiedserver\r\n' 20:54:35.290148 Received DATA (on stdin) 20:54:35.290159 > 8 bytes data, server => client 20:54:35.290169 '213 18\r\n' 20:54:35.290219 < 21 bytes data, client => server 20:54:35.290231 'RETR verifiedserver\r\n' 20:54:35.290535 Received DATA (on stdin) 20:54:35.290557 > 29 bytes data, server => client 20:54:35.290569 '150 Binary junk (18 bytes).\r\n' 20:54:35.290732 Received DATA (on stdin) 20:54:35.290754 > 28 bytes data, server => client 20:54:35.290764 '226 File transfer complete\r\n' 20:54:35.333741 < 6 bytes data, client => server 20:54:35.333765 'QUIT\r\n' 20:54:35.333939 Received DATA (on stdin) 20:54:35.333950 > 18 bytes data, server => client 20:54:35.333960 '221 bye bye baby\r\n' 20:54:35.334016 ====> Client disconnect 20:54:35.334168 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.289364 Running IPv4 version 20:54:35.289409 Listening on port 43647 20:54:35.289449 Wrote pid 112464 to log/17/server/ftp_sockdata.pid 20:54:35.289466 Received PING (on stdin) 20:54:35.289566 Received PORT (on stdin) 20:54:35.289831 ====> Client connect 20:54:35.290339 Received DATA (on stdin) 20:54:35.290352 > 18 bytes data, server => client 20:54:35.290362 'WE ROOLZ: 110706\r\n' 20:54:35.290420 Received DISC (on stdin) 20:54:35.290437 ====> Client forcibly disconnected 20:54:35.290513 Received QUIT (on stdin) 20:54:35.290523 quits 20:54:35.290571 ============> 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 ==112575== ==112575== Process terminating with default action of signal 4 (SIGILL) ==112575== Illegal opcode at address 0x4003082 ==112575== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112575== by 0x4003082: main (tool_main.c:243) === End of file valgrind137 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/ftp_server.pid" --logfile "log/20/ftp_server.log" --logdir "log/20" --portfile "log/20/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45439 (log/20/server/ftp_server.port) RUN: FTP server is PID 110887 port 45439 * pid ftp => 110887 110887 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/20/valgrind121 ../src/curl -q --output log/20/curl121.out --include --trace-ascii log/20/trace121 --trace-config all --trace-time ftp://127.0.0.1:45439/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/20/stdout121 2> log/20/stderr121 121: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind121 ../src/curl -q --output log/20/curl121.out --include --trace-ascii log/20/trace121 --trace-config all --trace-time ftp://127.0.0.1:45439/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/20/stdout121 2> log/20/stderr121 === End of file commands.log === Start of file ftp_server.log 20:54:34.224349 FTP server listens on port IPv4/45439 20:54:34.224406 logged pid 110887 in log/20/server/ftp_server.pid 20:54:34.224423 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.445676 Running IPv4 version 20:54:34.445723 Listening on port 45439 20:CMD (33792): ../libtool --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/valgrind141 ../src/curl -q --include --trace-ascii log/12/trace141 --trace-config all --trace-time ftp://127.0.0.1:38967/blalbla/141 -I > log/12/stdout141 2> log/12/stderr141 54:34.445751 Wrote pid 110888 to log/20/server/ftp_sockctrl.pid 20:54:34.445769 Wrote port 45439 to log/20/server/ftp_server.port 20:54:34.445783 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 121 === End of file server.cmd === Start of file valgrind121 ==112968== ==112968== Process terminating with default action of signal 4 (SIGILL) ==112968== Illegal opcode at address 0x4003082 ==112968== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==112968== by 0x4003082: main (tool_main.c:243) === End of file valgrind121 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind140 ../src/curl -q --output log/24/curl140.out --include --trace-ascii log/24/trace140 --trace-config all --trace-time ftp://127.0.0.1:34045/blalbla/140 -z "1 jan 2004" > log/24/stdout140 2> log/24/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/22/valgrind144 ../src/curl -q --output log/22/curl144.out --include --trace-ascii log/22/trace144 --trace-config all --trace-time ftp://127.0.0.1:38423/ -P - -l > log/22/stdout144 2> log/22/stderr144 CMD (33792): ../libtool --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/valgrind142 ../src/curl -q --output log/7/curl142.out --include --trace-ascii log/7/trace142 --trace-config all --trace-time ftp://127.0.0.1:40643/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/7/stdout142 2> log/7/stderr142 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind143 ../src/curl -q --output log/19/curl143.out --include --trace-ascii log/19/trace143 --trace-config all --trace-time "ftp://127.0.0.1:44763/%2ftmp/moo/143;type=a" > log/19/stdout143 2> log/19/stderr143 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/12/valgrind141 ../src/curl -q --include --trace-ascii log/12/trace141 --trace-config all --trace-time ftp://127.0.0.1:38967/blalbla/141 -I > log/12/stdout141 2> log/12/stderr141 141: stdout FAILED: --- log/12/check-expected 2025-06-04 20:54:35.859698088 +0000 +++ log/12/check-generated 2025-06-04 20:54:35.859698088 +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/12/ 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 commands.log ../libtool --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/valgrind141 ../src/curl -q --include --trace-ascii log/12/trace141 --trace-config all --trace-time ftp://127.0.0.1:38967/blalbla/141 -I > log/12/stdout141 2> log/12/stderr141 === End of file commands.log === Start of file ftp_server.log 20:54:35.230921 ====> Client connect 20:54:35.231102 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.231493 < "USER anonymous" 20:54:35.231532 > "331 We are happy you popped in![CR][LF]" 20:54:35.231695 < "PASS ftp@example.com" 20:54:35.231724 > "230 Welcome you silly person[CR][LF]" 20:54:35.231869 < "PWD" 20:54:35.231896 > "257 "/" is current directory[CR][LF]" 20:54:35.232088 < "EPSV" 20:54:35.232111 ====> Passive DATA channel requested by client 20:54:35.232123 DATA sockfilt for passive data channel starting... 20:54:35.233622 DATA sockfilt for passive data channel started (pid 113061) 20:54:35.233714 DATA sockfilt for passive data channel listens on port 34113 20:54:35.233746 > "229 Entering Passive Mode (|||34113|)[LF]" 20:54:35.233761 Client has been notified that DATA conn will be accepted on port 34113 20:54:35.233970 Client connects to port 34113 20:54:35.233996 ====> Client established passive DATA connection on port 34113 20:54:35.234061 < "TYPE I" 20:54:35.234088 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.234245 < "SIZE verifiedserver" 20:54:35.234280 > "213 18[CR][LF]" 20:54:35.234432 < "RETR verifiedserver" 20:54:35.234464 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.234538 =====> Closing passive DATA connection... 20:54:35.234554 Server disconnects passive DATA connection 20:54:35.234779 Server disconnected passive DATA connection 20:54:35.234806 DATA sockfilt for passive data channel quits (pid 113061) 20:54:35.235021 DATA sockfilt for passive data channel quit (pid 113061) 20:54:35.235051 =====> Closed passive DATA connection 20:54:35.235085 > "226 File transfer complete[CR][LF]" 20:54:35.276197 < "QUIT" 20:54:35.276249 > "221 bye bye baby[CR][LF]" 20:54:35.277205 MAIN sockfilt said DISC 20:54:35.277243 ====> Client disconnected 20:54:35.277311 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.452278 ====> Client connect 20:54:35.452620 Received DATA (on stdin) 20:54:35.452686 > 160 bytes data, server => client 20:54:35.452711 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.452723 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.452733 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.452855 < 16 bytes data, client => server 20:54:35.452875 'USER anonymous\r\n' 20:54:35.453050 Received DATA (on stdin) 20:54:35.453062 > 33 bytes data, server => client 20:54:35.453074 '331 We are happy you popped in!\r\n' 20:54:35.453123 < 22 bytes data, client => server 20:54:35.453134 'PASS ftp@example.com\r\n' 20:54:35.453240 Received DATA (on stdin) 20:54:35.453252 > 30 bytes data, server => client 20:54:35.453263 '230 Welcome you silly person\r\n' 20:54:35.453304 < 5 bytes data, client => server 20:54:35.453314 'PWD\r\n' 20:54:35.453408 Received DATA (on stdin) 20:54:35.453420 > 30 bytes data, server => client 20:54:35.453430 '257 "/" is current directory\r\n' 20:54:35.453484 < 6 bytes data, client => server 20:54:35.453495 'EPSV\r\n' 20:54:35.455278 Received DATA (on stdin) 20:54:35.455291 > 38 bytes data, server => client 20:54:35.455302 '229 Entering Passive Mode (|||34113|)\n' 20:54:35.455433 < 8 bytes data, client => server 20:54:35.455444 'TYPE I\r\n' 20:54:35.455604 Received DATA (on stdin) 20:54:35.455616 > 33 bytes data, server => client 20:54:35.455628 '200 I modify TYPE as you wanted\r\n' 20:54:35.455677 < 21 bytes data, client => server 20:54:35.455689 'SIZE verifiedserver\r\n' 20:54:35.455796 Received DATA (on stdin) 20:54:35.455807 > 8 bytes data, server => client 20:54:35.455818 '213 18\r\n' 20:54:35.455864 < 21 bytes data, client => server 20:54:35.455877 'RETR verifiedserver\r\n' 20:54:35.456071 Received DATA (on stdin) 20:54:35.456083 > 29 bytes data, server => client 20:54:35.456094 '150 Binary junk (18 bytes).\r\n' 20:54:35.456601 Received DATA (on stdin) 20:54:35.456615 > 28 bytes data, server => client 20:54:35.456626 '226 File transfer complete\r\n' 20:54:35.497528 < 6 bytes data, client => server 20:54:35.497556 'QUIT\r\n' 20:54:35.497767 Received DATA (on stdin) 20:54:35.497779 > 18 bytes data, server => client 20:54:35.497788 '221 bye bye baby\r\n' 20:54:35.498661 ====> Client disconnect 20:54:35.498823 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.454977 Running IPv4 version 20:54:35.455028 Listening on port 34113 20:54:35.455070 Wrote pid 113061 to log/12/server/ftp_sockdata.pid 20:54:35.455087 Received PING (on stdin) 20:54:35.455150 Received PORT (on stdin) 20:54:35.455405 ====> Client connect 20:54:35.456119 Received DATA (on stdin) 20:54:35.456132 > 18 bytes data, server => client 20:54:35.456143 'WE ROOLZ: 110628\r\n' 20:54:35.456165 Received DISC (on stdin) 20:54:35.456177 ====> Client forcibly disconnected 20:54:35.456331 Received QUIT (on stdin) 20:54:35.456343 quits 20:54:35.456409 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==113165== ==113165== Process terminating with default action of signal 4 (SIGILL) ==113165== Illegal opcode at address 0x4003082 ==113165== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113165== by 0x4003082: main (tool_main.c:243) === 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/7/valgrind142 ../src/curl -q --output log/7/curl142.out --include --trace-ascii log/7/trace142 --trace-config all --trace-time ftp://127.0.0.1:40643/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/7/stdout142 2> log/7/stderr142 142: 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 142 === Start of file commands.log ../libtool --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/valgrind142 ../src/curl -q --output log/7/curl142.out --include --trace-ascii log/7/trace142 --trace-config all --trace-time ftp://127.0.0.1:40643/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/7/stdout142 2> log/7/stderr142 === End of file commands.log === Start of file ftp_server.log 20:54:35.231881 ====> Client connect 20:54:35.232041 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.232353 < "USER anonymous" 20:54:35.232385 > "331 We are happy you popped in![CR][LF]" 20:54:35.232525 < "PASS ftp@example.com" 20:54:35.232549 > "230 Welcome you silly person[CR][LF]" 20:54:35.232678 < "PWD" 20:54:35.232703 > "257 "/" is current directory[CR][LF]" 20:54:35.232834 < "EPSV" 20:54:35.232853 ====> Passive DATA channel requested by client 20:54:35.232863 DATA sockfilt for passive data channel starting... 20:54:35.234344 DATA sockfilt for passive data channel started (pid 113065) 20:54:35.234472 DATA sockfilt for passive data channel listens on port 35627 20:54:35.234514 > "229 Entering Passive Mode (|||35627|)[LF]" 20:54:35.234529 Client has been notified that DATA conn will be accepted on port 35627 20:54:35.234717 Client connects to port 35627 20:54:35.234741 ====> Client established passive DATA connection on port 35627 20:54:35.234793 < "TYPE I" 20:54:35.234813 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.234926 < "SIZE verifiedserver" 20:54:35.234959 > "213 18[CR][LF]" 20:54:35.235094 < "RETR verifiedserver" 20:54:35.235135 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.235221 =====> Closing passive DATA connection... 20:54:35.235239 Server disconnects passive DATA connection 20:54:35.235331 Server disconnected passive DATA connection 20:54:35.235343 DATA sockfilt for passive data channel quits (pid 113065) 20:54:35.235655 DATA sockfilt for passive data channel quit (pid 113065) 20:54:35.235687 =====> Closed passive DATA connection 20:54:35.235722 > "226 File transfer complete[CR][LF]" 20:54:35.279192 < "QUIT" 20:54:35.279243 > "221 bye bye baby[CR][LF]" 20:54:35.279947 MAIN sockfilt said DISC 20:54:35.279989 ====> Client disconnected 20:54:35.280054 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.453301 ====> Client connect 20:54:35.453570 Received DATA (on stdin) 20:54:35.453585 > 160 bytes data, server => client 20:54:35.453597 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.453608 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.453617 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.453735 < 16 bytes data, client => server 20:54:35.453749 'USER anonymous\r\n' 20:54:35.453900 Received DATA (on stdin) 20:54:35.453911 > 33 bytes data, server => client 20:54:35.453920 '331 We are happy you popped in!\r\n' 20:54:35.453963 < 22 bytes data, client => server 20:54:35.453973 'PASS ftp@example.com\r\n' 20:54:35.454060 Received DATA (on stdin) 20:54:35.454070 > 30 bytes data, server => client 20:54:35.454080 '230 Welcome you silly person\r\n' 20:54:35.454119 < 5 bytes data, client => server 20:54:35.454128 'PWD\r\n' 20:54:35.454212 Received DATA (on stdin) 20:54:35.454223 > 30 bytes data, server => client 20:54:35.454233 '257 "/" is current directory\r\n' 20:54:35.454285 < 6 bytes data, client => server 20:54:35.454297 'EPSV\r\n' 20:54:35.456045 Received DATA (on stdin) 20:54:35.456056 > 38 bytes data, server => client 20:54:35.456065 '229 Entering Passive Mode (|||35627|)\n' 20:54:35.456155 < 8 bytes data, client => server 20:54:35.456166 'TYPE I\r\n' 20:54:35.456323 Received DATA (on stdin) 20:54:35.456332 > 33 bytes data, server => client 20:54:35.456341 '200 I modify TYPE as you wanted\r\n' 20:54:35.456377 < 21 bytes data, client => server 20:54:35.456385 'SIZE verifiedserver\r\n' 20:54:35.456472 Received DATA (on stdin) 20:54:35.456482 > 8 bytes data, server => client 20:54:35.456492 '213 18\r\n' 20:54:35.456533 < 21 bytes data, client => server 20:54:35.456544 'RETR verifiedserver\r\n' 20:54:35.456655 Received DATA (on stdin) 20:54:35.456668 > 29 bytes data, server => client 20:54:35.456679 '150 Binary junk (18 bytes).\r\n' 20:54:35.457240 Received DATA (on stdin) 20:54:35.457253 > 28 bytes data, server => client 20:54:35.457264 '226 File transfer complete\r\n' 20:54:35.500525 < 6 bytes data, client => server 20:54:35.500553 'QUIT\r\n' 20:54:35.500763 Received DATA (on stdin) 20:54:35.500775 > 18 bytes data, server => client 20:54:35.500785 '221 bye bye baby\r\n' 20:54:35.501401 ====> Client disconnect 20:54:35.501567 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.455716 Running IPv4 version 20:54:35.455752 Listening on port 35627 20:54:35.455780 Wrote pid 113065 to log/7/server/ftp_sockdata.pid 20:54:35.455798 Received PING (on stdin) 20:54:35.455909 Received PORT (on stdin) 20:54:35.456189 ====> Client connect 20:54:35.456738 Received DATA (on stdin) 20:54:35.456753 > 18 bytes data, server => client 20:54:35.456764 'WE ROOLZ: 110634\r\n' 20:54:35.456801 Received DISC (on stdin) 20:54:35.456814 ====> Client forcibly disconnected 20:54:35.456893 Received QUIT (on stdin) 20:54:35.456907 quits 20:54:35.456963 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==113230== ==113230== Process terminating with default action of signal 4 (SIGILL) ==113230== Illegal opcode at address 0x4003082 ==113230== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113230== by 0x4003082: main (tool_main.c:243) === End of file valgrind142 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/19/valgrind143 ../src/curl -q --output log/19/curl143.out --include --trace-ascii log/19/trace143 --trace-config all --trace-time "ftp://127.0.0.1:44763/%2ftmp/moo/143;type=a" > log/19/stdout143 2> log/19/stderr143 143: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind143 ../src/curl -q --output log/19/curl143.out --include --trace-ascii log/19/trace143 --trace-config all --trace-time "ftp://127.0.0.1:44763/%2ftmp/moo/143;type=a" > log/19/stdout143 2> log/19/stderr143 === End of file commands.log === Start of file ftp_server.log 20:54:35.233488 ====> Client connect 20:54:35.233651 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.233884 < "USER anonymous" 20:54:35.233919 > "331 We are happy you popped in![CR][LF]" 20:54:35.234062 < "PASS ftp@example.com" 20:54:35.234088 > "230 Welcome you silly person[CR][LF]" 20:54:35.234229 < "PWD" 20:54:35.234261 > "257 "/" is current directory[CR][LF]" 20:54:35.234468 < "EPSV" 20:54:35.234493 ====> Passive DATA channel requested by client 20:54:35.234505 DATA sockfilt for passive data channel starting... 20:54:35.236144 DATA sockfilt for passive data channel started (pid 113068) 20:54:35.236234 DATA sockfilt for passive data channel listens on port 34005 20:54:35.236265 > "229 Entering Passive Mode (|||34005|)[LF]" 20:54:35.236279 Client has been notified that DATA conn will be accepted on port 34005 20:54:35.236466 Client connects to port 34005 20:54:35.236486 ====> Client established passive DATA connection on port 34005 20:54:35.236541 < "TYPE I" 20:54:35.236560 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.236672 < "SIZE verifiedserver" 20:54:35.236701 > "213 18[CR][LF]" 20:54:35.236806 < "RETR verifiedserver" 20:54:35.236843 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.236916 =====> Closing passive DATA connection... 20:54:35.236933 Server disconnects passive DATA connection 20:54:35.237039 Server disconnected passive DATA connection 20:54:35.237060 DATA sockfilt for passive data channel quits (pid 113068) 20:54:35.237246 DATA sockfilt for passive data channel quit (pid 113068) 20:54:35.237268 =====> Closed passive DATA connection 20:54:35.237296 > "226 File transfer complete[CR][LF]" 20:54:35.279590 < "QUIT" 20:54:35.279639 > "221 bye bye baby[CR][LF]" 20:54:35.280362 MAIN sockfilt said DISC 20:54:35.280389 ====> Client disconnected 20:54:35.280448 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.454898 ====> Client connect 20:54:35.455177 Received DATA (on stdin) 20:54:35.455192 > 160 bytes data, server => client 20:54:35.455204 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.455214 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.455224 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.455289 < 16 bytes data, client => server 20:54:35.455305 'USER anonymous\r\n' 20:54:35.455435 Received DATA (on stdin) 20:54:35.455448 > 33 bytes data, server => client 20:54:35.455458 '331 We are happy you popped in!\r\n' 20:54:35.455507 < 22 bytes data, client => server 20:54:35.455521 'PASS ftp@example.com\r\n' 20:54:35.455603 Received DATA (on stdin) 20:54:35.455616 > 30 bytes data, server => client 20:54:35.455627 '230 Welcome you silly person\r\n' 20:54:35.455675 < 5 bytes data, client => server 20:54:35.455687 'PWD\r\n' 20:54:35.455776 Received DATA (on stdin) 20:54:35.455789 > 30 bytes data, server => client 20:54:35.455799 '257 "/" is current directory\r\n' 20:54:35.455884 < 6 bytes data, client => server 20:54:35.455894 'EPSV\r\n' 20:54:35.457797 Received DATA (on stdin) 20:54:35.457809 > 38 bytes data, server => client 20:54:35.457818 '229 Entering Passive Mode (|||34005|)\n' 20:54:35.457935 < 8 bytes data, client => server 20:54:35.457944 'TYPE I\r\n' 20:54:35.458070 Received DATA (on stdin) 20:54:35.458079 > 33 bytes data, server => client 20:54:35.458087 '200 I modify TYPE as you wanted\r\n' 20:54:35.458122 < 21 bytes data, client => server 20:54:35.458131 'SIZE verifiedserver\r\n' 20:54:35.458210 Received DATA (on stdin) 20:54:35.458219 > 8 bytes data, server => client 20:54:35.458226 '213 18\r\n' 20:54:35.458258 < 21 bytes data, client => server 20:54:35.458266 'RETR verifiedserver\r\n' 20:54:35.458348 Received DATA (on stdin) 20:54:35.458377 > 29 bytes data, server => client 20:54:35.458388 '150 Binary junk (18 bytes).\r\n' 20:54:35.458811 Received DATA (on stdin) 20:54:35.458827 > 28 bytes data, server => client 20:54:35.458837 '226 File transfer complete\r\n' 20:54:35.500961 < 6 bytes data, client => server 20:54:35.500982 'QUIT\r\n' 20:54:35.501172 Received DATA (on stdin) 20:54:35.501196 > 18 bytes data, server => client 20:54:35.501207 '221 bye bye baby\r\n' 20:54:35.501822 ====> Client disconnect 20:54:35.501962 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.457522 Running IPv4 version 20:54:35.457565 Listening on port 34005 20:54:35.457593 Wrote pid 113068 to log/19/server/ftp_sockdata.pid 20:54:35.457609 Received PING (on stdin) 20:54:35.457678 Received PORT (on stdin) 20:54:35.457913 ====> Client connect 20:54:35.458447 Received DATA (on stdin) 20:54:35.458460 > 18 bytes data, server => client 20:54:35.458470 'WE ROOLZ: 110642\r\n' 20:54:35.458497 Received DISC (on stdin) 20:54:35.458508 ====> Client forcibly disconnected 20:54:35.458585 Received QUIT (on stdin) 20:54:35.458596 quits 20:54:35.458644 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==113171== ==113171== Process terminating with default action of signal 4 (SIGILL) ==113171== Illegal opcode at address 0x4003082 ==113171== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113171== by 0x4003082: main (tool_main.c:243) === End of file valgrind143 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/22/valgrind144 ../src/curl -q --output log/22/curl144.out --include --trace-ascii log/22/trace144 --trace-config all --trace-time ftp://127.0.0.1:38423/ -P - -l > log/22/stdout144 2> log/22/stderr144 144: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind144 ../src/curl -q --output log/22/curl144.out --include --trace-ascii log/22/trace144 --trace-config all --trace-time ftp://127.0.0.1:38423/ -P - -l > log/22/stdout144 2> log/22/stderr144 === End of file commands.log === Start of file ftp_server.log 20:54:35.249973 ====> Client connect 20:54:35.250130 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.250346 < "USER anonymous" 20:54:35.250370 > "331 We are happy you popped in![CR][LF]" 20:54:35.250485 < "PASS ftp@example.com" 20:54:35.250503 > "230 Welcome you silly person[CR][LF]" 20:54:35.250602 < "PWD" 20:54:35.250623 > "257 "/" is current directory[CR][LF]" 20:54:35.250728 < "EPSV" 20:54:35.250745 ====> Passive DATA channel requested by client 20:54:35.250754 DATA sockfilt for passive data channel starting... 20:54:35.251815 DATA sockfilt for passive data channel started (pid 113128) 20:54:35.251892 DATA sockfilt for passive data channel listens on port 36553 20:54:35.251922 > "229 Entering Passive Mode (|||36553|)[LF]" 20:54:35.251933 Client has been notified that DATA conn will be accepted on port 36553 20:54:35.252069 Client connects to port 36553 20:54:35.252096 ====> Client established passive DATA connection on port 36553 20:54:35.252153 < "TYPE I" 20:54:35.252181 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.252335 < "SIZE verifiedserver" 20:54:35.252366 > "213 18[CR][LF]" 20:54:35.252517 < "RETR verifiedserver" 20:54:35.252548 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.252623 =====> Closing passive DATA connection... 20:54:35.252640 Server disconnects passive DATA connection 20:54:35.252827 Server disconnected passive DATA connection 20:54:35.252859 DATA sockfilt for passive data channel quits (pid 113128) 20:54:35.253044 DATA sockfilt for passive data channel quit (pid 113128) 20:54:35.253064 =====> Closed passive DATA connection 20:54:35.253089 > "226 File transfer complete[CR][LF]" 20:54:35.295740 < "QUIT" 20:54:35.295798 > "221 bye bye baby[CR][LF]" 20:54:35.296356 MAIN sockfilt said DISC 20:54:35.296386 ====> Client disconnected 20:54:35.296472 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.471384 ====> Client connect 20:54:35.471649 Received DATA (on stdin) 20:54:35.471660 > 160 bytes data, server => client 20:54:35.471669 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.471677 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.471684 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.471738 < 16 bytes data, client => server 20:54:35.471747 'USER anonymous\r\n' 20:54:35.471880 Received DATA (on stdin) 20:54:35.471889 > 33 bytes data, server => client 20:54:35.471897 '331 We are happy you popped in!\r\n' 20:54:35.471933 < 22 bytes data, client => server 20:54:35.471940 'PASS ftp@example.com\r\n' 20:54:35.472010 Received DATA (on stdin) 20:54:35.472018 > 30 bytes data, server => client 20:54:35.472026 '230 Welcome you silly person\r\n' 20:54:35.472057 < 5 bytes data, client => server 20:54:35.472064 'PWD\r\n' 20:54:35.472130 Received DATA (on stdin) 20:54:35.472138 > 30 bytes data, server => client 20:54:35.472145 '257 "/" is current directory\r\n' 20:54:35.472183 < 6 bytes data, client => server 20:54:35.472190 'EPSV\r\n' 20:54:35.473443 Received DATA (on stdin) 20:54:35.473453 > 38 bytes data, server => client 20:54:35.473461 '229 Entering Passive Mode (|||36553|)\n' 20:54:35.473554 < 8 bytes data, client => server 20:54:35.473565 'TYPE I\r\n' 20:54:35.473693 Received DATA (on stdin) 20:54:35.473705 > 33 bytes data, server => client 20:54:35.473715 '200 I modify TYPE as you wanted\r\n' 20:54:35.473770 < 21 bytes data, client => server 20:54:35.473782 'SIZE verifiedserver\r\n' 20:54:35.473882 Received DATA (on stdin) 20:54:35.473894 > 8 bytes data, server => client 20:54:35.473903 '213 18\r\n' 20:54:35.473948 < 21 bytes data, client => server 20:54:35.473959 'RETR verifiedserver\r\n' 20:54:35.474155 Received DATA (on stdin) 20:54:35.474166 > 29 bytes data, server => client 20:54:35.474177 '150 Binary junk (18 bytes).\r\n' 20:54:35.474603 Received DATA (on stdin) 20:54:35.474615 > 28 bytes data, server => client 20:54:35.474625 '226 File transfer complete\r\n' 20:54:35.517072 < 6 bytes data, client => server 20:54:35.517101 'QUIT\r\n' 20:54:35.517318 Received DATA (on stdin) 20:54:35.517329 > 18 bytes data, server => client 20:54:35.517340 '221 bye bye baby\r\n' 20:54:35.517813 ====> Client disconnect 20:54:35.517988 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.473198 Running IPv4 version 20:54:35.473239 Listening on port 36553 20:54:35.473269 Wrote pid 113128 to log/22/server/ftp_sockdata.pid 20:54:35.473283 Received PING (on stdin) 20:54:35.473343 Received PORT (on stdin) 20:54:35.473537 ====> Client connect 20:54:35.474231 Received DATA (on stdin) 20:54:35.474247 > 18 bytes data, server => client 20:54:35.474257 'WE ROOLZ: 110696\r\n' 20:54:35.474282 Received DISC (on stdin) 20:54:35.474297 ====> Client forcibly disconnected 20:54:35.474382 Received QUIT (on stdin) 20:54:35.474394 quits 20:54:35.474447 ============> 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 ==113233== ==113233== Process terminating with default action of signal 4 (SIGILL) ==113233== Illegal opcode at address 0x4003082 ==113233== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113233== by 0x4003082: main (tool_main.c:243) === End of file valgrind144 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/24/valgrind140 ../src/curl -q --output log/24/curl140.out --include --trace-ascii log/24/trace140 --trace-config all --trace-time ftp://127.0.0.1:34045/blalbla/140 -z "1 jan 2004" > log/24/stdout140 2> log/24/stderr140 140: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 140 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind140 ../src/curl -q --output log/24/curl140.out --include --trace-ascii log/24/trace140 --trace-config all --trace-time ftp://127.0.0.1:34045/blalbla/140 -z "1 jan 2004" > log/24/stdout140 2> log/24/stderr140 === End of file commands.log === Start of file ftp_server.log 20:54:35.211726 ====> Client connect 20:54:35.211876 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.212224 < "USER anonymous" 20:54:35.212277 > "331 We are happy you popped in![CR][LF]" 20:54:35.212494 < "PASS ftp@example.com" 20:54:35.212524 > "230 Welcome you silly person[CR][LF]" 20:54:35.212686 < "PWD" 20:54:35.212717 > "257 "/" is current directory[CR][LF]" 20:54:35.213010 < "EPSV" 20:54:35.213036 ====> Passive DATA channel requested by client 20:54:35.213048 DATA sockfilt for passive data channel starting... 20:54:35.214679 DATA sockfilt for passive data channel started (pid 112966) 20:54:35.214790 DATA sockfilt for passive data channel listens on port 45685 20:54:35.214829 > "229 Entering Passive Mode (|||45685|)[LF]" 20:54:35.214846 Client has been notified that DATA conn will be accepted on port 45685 20:54:35.215027 Client connects to port 45685 20:54:35.215043 ====> Client established passive DATA connection on port 45685 20:54:35.215102 < "TYPE I" 20:54:35.215131 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.215340 < "SIZE verifiedserver" 20:54:35.215423 > "213 18[CR][LF]" 20:54:35.215628 < "RETR verifiedserver" 20:54:35.215664 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.215739 =====> Closing passive DATA connection... 20:54:35.215755 Server disconnects passive DATA connection 20:54:35.215969 Server disconnected passive DATA connection 20:54:35.215995 DATA sockfilt for passive data channel quits (pid 112966) 20:54:35.216389 DATA sockfilt for passive data channel quit (pid 112966) 20:54:35.216417 =====> Closed passive DATA connection 20:54:35.216443 > "226 File transfer complete[CR][LF]" 20:54:35.258992 < "QUIT" 20:54:35.259038 > "221 bye bye baby[CR][LF]" 20:54:35.260015 MAIN sockfilt said DISC 20:54:35.260043 ====> Client disconnected 20:54:35.260118 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.433144 ====> Client connect 20:54:35.433405 Received DATA (on stdin) 20:54:35.433420 > 160 bytes data, server => client 20:54:35.433433 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.433444 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.433454 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.433555 < 16 bytes data, client => server 20:54:35.433571 'USER anonymouCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind145 ../src/curl -q --output log/16/curl145.out --include --trace-ascii log/16/trace145 --trace-config all --trace-time ftp://127.0.0.1:35865/ -P - -l > log/16/stdout145 2> log/16/stderr145 s\r\n' 20:54:35.433803 Received DATA (on stdin) 20:54:35.433824 > 33 bytes data, server => client 20:54:35.433836 '331 We are happy you popped in!\r\n' 20:54:35.433918 < 22 bytes data, client => server 20:54:35.433933 'PASS ftp@example.com\r\n' 20:54:35.434041 Received DATA (on stdin) 20:54:35.434054 > 30 bytes data, server => client 20:54:35.434066 '230 Welcome you silly person\r\n' 20:54:35.434116 < 5 bytes data, client => server 20:54:35.434129 'PWD\r\n' 20:54:35.434274 Received DATA (on stdin) 20:54:35.434297 > 30 bytes data, server => client 20:54:35.434309 '257 "/" is current directory\r\n' 20:54:35.434378 < 6 bytes data, client => server 20:54:35.434389 'EPSV\r\n' 20:54:35.436331 Received DATA (on stdin) 20:54:35.436354 > 38 bytes data, server => client 20:54:35.436366 '229 Entering Passive Mode (|||45685|)\n' 20:54:35.436520 < 8 bytes data, client => server 20:54:35.436531 'TYPE I\r\n' 20:54:35.436644 Received DATA (on stdin) 20:54:35.436660 > 33 bytes data, server => client 20:54:35.436671 '200 I modify TYPE as you wanted\r\n' 20:54:35.436740 < 21 bytes data, client => server 20:54:35.436761 'SIZE verifiedserver\r\n' 20:54:35.436940 Received DATA (on stdin) 20:54:35.436999 > 8 bytes data, server => client 20:54:35.437010 '213 18\r\n' 20:54:35.437061 < 21 bytes data, client => server 20:54:35.437072 'RETR verifiedserver\r\n' 20:54:35.437269 Received DATA (on stdin) 20:54:35.437281 > 29 bytes data, server => client 20:54:35.437292 '150 Binary junk (18 bytes).\r\n' 20:54:35.437943 Received DATA (on stdin) 20:54:35.437961 > 28 bytes data, server => client 20:54:35.437971 '226 File transfer complete\r\n' 20:54:35.480341 < 6 bytes data, client => server 20:54:35.480364 'QUIT\r\n' 20:54:35.480553 Received DATA (on stdin) 20:54:35.480563 > 18 bytes data, server => client 20:54:35.480573 '221 bye bye baby\r\n' 20:54:35.481479 ====> Client disconnect 20:54:35.481631 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.436002 Running IPv4 version 20:54:35.436078 Listening on port 45685 20:54:35.436116 Wrote pid 112966 to log/24/server/ftp_sockdata.pid 20:54:35.436133 Received PING (on stdin) 20:54:35.436224 Received PORT (on stdin) 20:54:35.436487 ====> Client connect 20:54:35.437318 Received DATA (on stdin) 20:54:35.437331 > 18 bytes data, server => client 20:54:35.437342 'WE ROOLZ: 110632\r\n' 20:54:35.437365 Received DISC (on stdin) 20:54:35.437376 ====> Client forcibly disconnected 20:54:35.437515 Received QUIT (on stdin) 20:54:35.437526 quits 20:54:35.437576 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==113143== ==113143== Process terminating with default action of signal 4 (SIGILL) ==113143== Illegal opcode at address 0x4003082 ==113143== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113143== by 0x4003082: main (tool_main.c:243) === End of file valgrind140 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/16/valgrind145 ../src/curl -q --output log/16/curl145.out --include --trace-ascii log/16/trace145 --trace-config all --trace-time ftp://127.0.0.1:35865/ -P - -l > log/16/stdout145 2> log/16/stderr145 145: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind145 ../src/curl -q --output log/16/curl145.out --include --trace-ascii log/16/trace145 --trace-config all --trace-time ftp://127.0.0.1:35865/ -P - -l > log/16/stdout145 2> log/16/stderr145 === End of file commands.log === Start of file ftp_server.log 20:54:35.361184 ====> Client connect 20:54:35.361346 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.361636 < "USER anonymous" 20:54:35.361667 > "331 We are happy you popped in![CR][LF]" 20:54:35.361867 < "PASS ftp@example.com" 20:54:35.361890 > "230 Welcome you silly person[CR][LF]" 20:54:35.362150 < "PWD" 20:54:35.362203 > "257 "/" is current directory[CR][LF]" 20:54:35.362364 < "EPSV" 20:54:35.362387 ====> Passive DATA channel requested by client 20:54:35.362400 DATA sockfilt for passive data channel starting... 20:54:35.363950 DATA sockfilt for passive data channel started (pid 113400) 20:54:35.364028 DATA sockfilt for passive data channel listens on port 44411 20:54:35.364059 > "229 Entering Passive Mode (|||44411|)[LF]" 20:54:35.364072 Client has been notified that DATA conn will be accepted on port 44411 20:54:35.364257 Client connects to port 44411 20:54:35.364280 ====> Client established passive DATA connection on port 44411 20:54:35.364332 < "TYPE I" 20:54:35.364355 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.364467 < "SIZE verifiedserver" 20:54:35.364491 > "213 18[CR][LF]" 20:54:35.364593 < "RETR verifiedserver" 20:54:35.364612 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.364674 =====> Closing passive DATA connection... 20:54:35.364685 Server disconnects passive DATA connection 20:54:35.364808 Server disconnected passive DATA connection 20:54:35.364850 DATA sockfilt for passive data channel quits (pid 113400) 20:54:35.365119 DATA sockfilt for passive data channel quit (pid 113400) 20:54:35.365142 =====> Closed passive DATA connection 20:54:35.365173 > "226 File transfer complete[CR][LF]" 20:54:35.405923 < "QUIT" 20:54:35.405974 > "221 bye bye baby[CR][LF]" 20:54:35.406157 MAIN sockfilt said DISC 20:54:35.406187 ====> Client disconnected 20:54:35.406258 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.582581 ====> Client connect 20:54:35.582868 Received DATA (on stdin) 20:54:35.582881 > 160 bytes data, server => client 20:54:35.582893 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.582902 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.582912 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.583011 < 16 bytes data, client => server 20:54:35.583022 'USER anonymous\r\n' 20:54:35.583163 Received DATA (on stdin) 20:54:35.583188 > 33 bytes data, server => client 20:54:35.583200 '331 We are happy you popped in!\r\n' 20:54:35.583325 < 22 bytes data, client => server 20:54:35.583341 'PASS ftp@example.com\r\n' 20:54:35.583403 Received DATA (on stdin) 20:54:35.583417 > 30 bytes data, server => client 20:54:35.583427 '230 Welcome you silly person\r\n' 20:54:35.583500 < 5 bytes data, client => server 20:54:35.583515 'PWD\r\n' 20:54:35.583719 Received DATA (on stdin) 20:54:35.583731 > 30 bytes data, server => client 20:54:35.583742 '257 "/" is current directory\r\n' 20:54:35.583799 < 6 bytes data, client => server 20:54:35.583811 'EPSV\r\n' 20:54:35.585585 Received DATA (on stdin) 20:54:35.585596 > 38 bytes data, server => client 20:54:35.585605 '229 Entering Passive Mode (|||44411|)\n' 20:54:35.585704 < 8 bytes data, client => server 20:54:35.585715 'TYPE I\r\n' 20:54:35.585864 Received DATA (on stdin) 20:54:35.585873 > 33 bytes data, server => client 20:54:35.585881 '200 I modify TYPE as you wanted\r\n' 20:54:35.585918 < 21 bytes data, client => server 20:54:35.585926 'SIZE verifiedserver\r\n' 20:54:35.585998 Received DATA (on stdin) 20:54:35.586006 > 8 bytes data, server => client 20:54:35.586014 '213 18\r\n' 20:54:35.586047 < 21 bytes data, client => server 20:54:35.586055 'RETR verifiedserver\r\n' 20:54:35.586193 Received DATA (on stdin) 20:54:35.586202 > 29 bytes data, server => client 20:54:35.586210 '150 Binary junk (18CMD (33792): ../libtool --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/valgrind146 ../src/curl -q --output log/10/curl146.out --include --trace-ascii log/10/trace146 --trace-config all --trace-time ftp://127.0.0.1:41053/first/dir/here/146 ftp://127.0.0.1:41053/146 > log/10/stdout146 2> log/10/stderr146 bytes).\r\n' 20:54:35.586693 Received DATA (on stdin) 20:54:35.586709 > 28 bytes data, server => client 20:54:35.586720 '226 File transfer complete\r\n' 20:54:35.627266 < 6 bytes data, client => server 20:54:35.627293 'QUIT\r\n' 20:54:35.627490 Received DATA (on stdin) 20:54:35.627500 > 18 bytes data, server => client 20:54:35.627510 '221 bye bye baby\r\n' 20:54:35.627619 ====> Client disconnect 20:54:35.627770 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.585235 Running IPv4 version 20:54:35.585286 Listening on port 44411 20:54:35.585319 Wrote pid 113400 to log/16/server/ftp_sockdata.pid 20:54:35.585418 Received PING (on stdin) 20:54:35.585476 Received PORT (on stdin) 20:54:35.585731 ====> Client connect 20:54:35.586227 Received DATA (on stdin) 20:54:35.586237 > 18 bytes data, server => client 20:54:35.586245 'WE ROOLZ: 110697\r\n' 20:54:35.586261 Received DISC (on stdin) 20:54:35.586269 ====> Client forcibly disconnected 20:54:35.586386 Received QUIT (on stdin) 20:54:35.586403 quits 20:54:35.586471 ============> 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 ==113435== ==113435== Process terminating with default action of signal 4 (SIGILL) ==113435== Illegal opcode at address 0x4003082 ==113435== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113435== by 0x4003082: main (tool_main.c:243) === End of file valgrind145 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/10/valgrind146 ../src/curl -q --output log/10/curl146.out --include --trace-ascii log/10/trace146 --trace-config all --trace-time ftp://127.0.0.1:41053/first/dir/here/146 ftp://127.0.0.1:41053/146 > log/10/stdout146 2> log/10/stderr146 146: 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 146 === Start of file commands.log ../libtool --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/valgrind146 ../src/curl -q --output log/10/curl146.out --include --trace-ascii log/10/trace146 --trace-config all --trace-time ftp://127.0.0.1:41053/first/dir/here/146 ftp://127.0.0.1:41053/146 > log/10/stdout146 2> log/10/stderr146 === End of file commands.log === Start of file ftp_server.log 20:54:35.379170 ====> Client connect 20:54:35.379337 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.379606 < "USER anonymous" 20:54:35.379636 > "331 We are happy you popped in![CR][LF]" 20:54:35.379777 < "PASS ftp@example.com" 20:54:35.379800 > "230 Welcome you silly person[CR][LF]" 20:54:35.379924 < "PWD" 20:54:35.379952 > "257 "/" is current directory[CR][LF]" 20:54:35.380083 < "EPSV" 20:54:35.380107 ====> Passive DATA channel requested by client 20:54:35.380118 DATA sockfilt for passive data channel starting... 20:54:35.381543 DATA sockfilt for passive data channel started (pid 113417) 20:54:35.381705 DATA sockfilt for passive data channel listens on port 41217 20:54:35.381753 > "229 Entering Passive Mode (|||41217|)[LF]" 20:54:35.381771 Client has been notified that DATA conn will be accepted on port 41217 20:54:35.381956 Client connects to port 41217 20:54:35.381984 ====> Client established passive DATA connection on port 41217 20:54:35.382188 < "TYPE I" 20:54:35.382222 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.382372 < "SIZE verifiedserver" 20:54:35.382405 > "213 18[CR][LF]" 20:54:35.382540 < "RETR verifiedserver" 20:54:35.382569 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.382640 =====> Closing passive DATA connection... 20:54:35.382654 Server disconnects passive DATA connection 20:54:35.382856 Server disconnected passive DATA connection 20:54:35.382878 DATA sockfilt for passive data channel quits (pid 113417) 20:54:35.383085 DATA sockfilt for passive data channel quit (pid 113417) 20:54:35.383142 =====> Closed passive DATA connection 20:54:35.383184 > "226 File transfer complete[CR][LF]" 20:54:35.425702 < "QUIT" 20:54:35.425752 > "221 bye bye baby[CR][LF]" 20:54:35.427091 MAIN sockfilt said DISC 20:54:35.427119 ====> Client disconnected 20:54:35.427183 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.600560 ====> Client connect 20:54:34.600862 Received DATA (on stdin) 20:54:34.600876 > 160 bytes data, server => client 20:54:34.600887 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.600897 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.600907 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.600975 < 16 bytes data, client => server 20:54:34.600986 'USER anonymous\r\n' 20:54:34.601150 Received DATA (on stdin) 20:54:34.601161 > 33 bytes data, server => client 20:54:34.601171 '331 We are happy you popped in!\r\n' 20:54:34.601214 < 22 bytes data, client => server 20:54:34.601224 'PASS ftp@example.com\r\n' 20:54:34.601311 Received DATA (on stdin) 20:54:34.601321 > 30 bytes data, server => client 20:54:34.601331 '230 Welcome you silly person\r\n' 20:54:34.601369 < 5 bytes data, client => server 20:54:34.601378 'PWD\r\n' 20:54:34.601462 Received DATA (on stdin) 20:54:34.601472 > 30 bytes data, server => client 20:54:34.601482 '257 "/" is current directory\r\n' 20:54:34.601528 < 6 bytes data, client => server 20:54:34.601538 'EPSV\r\n' 20:54:34.603292 Received DATA (on stdin) 20:54:34.603305 > 38 bytes data, server => client 20:54:34.603316 '229 Entering Passive Mode (|||41217|)\n' 20:54:34.603416 < 8 bytes data, client => server 20:54:34.603428 'TYPE I\r\n' 20:54:34.603738 Received DATA (on stdin) 20:54:34.603751 > 33 bytes data, server => client 20:54:34.603761 '200 I modify TYPE as you wanted\r\n' 20:54:34.603810 < 21 bytes data, client => server 20:54:34.603821 'SIZE verifiedserver\r\n' 20:54:34.603919 Received DATA (on stdin) 20:54:34.603930 > 8 bytes data, server => client 20:54:34.603939 '213 18\r\n' 20:54:34.603980 < 21 bytes data, client => server 20:54:34.603991 'RETR verifiedserver\r\n' 20:54:34.604167 Received DATA (on stdin) 20:54:34.604178 > 29 bytes data, server => client 20:54:34.604188 '150 Binary junk (18 bytes).\r\n' 20:54:34.604710 Received DATA (on stdin) 20:54:34.604732 > 28 bytes data, server => client 20:54:34.604742 '226 File transfer complete\r\n' 20:54:34.647085 < 6 bytes data, client => server 20:54:34.647120 'QUIT\r\n' 20:54:34.647274 Received DATA (on stdin) 20:54:34.647306 > 18 bytes data, server => client 20:54:34.647320 '221 bye bye baby\r\n' 20:54:34.648546 ====> Client disconnect 20:54:34.648698 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.602899 Running IPv4 version 20:54:35.602949 Listening on port 41217 20:54:35.602986 Wrote pid 113417 to log/10/server/ftp_sockdata.pid 20:54:35.603005 Received PING (on stdin) 20:54:35.603079 Received PORT (on stdin) 20:54:35.603418 ====> Client connect 20:54:35.604210 Received DATA (on stdin) 20:54:35.604223 > 18 bytes data, server => client 20:54:35.604233 'WE ROOLZ: 110827\r\n' 20:54:35.604255 Received DISC (on stdin) 20:54:35.604265 ====> Client forcibly disconnected 20:54:35.604397 Received QUIT (on stdin) 20:54:35.604407 quits 20:54:35.604458 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==113458== ==113458== Process terminating with default action of signal 4 (SIGILL) ==113458== Illegal opcode at address 0x4003082 ==113458== at 0x4003082: CMD (33792): ../libtool --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/valgrind147 ../src/curl -q --output log/2/curl147.out --include --trace-ascii log/2/trace147 --trace-config all --trace-time ftp://127.0.0.1:41115/first/dir/here/147 --ftp-create-dirs > log/2/stdout147 2> log/2/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/6/valgrind122 ../src/curl -q --output log/6/curl122.out --include --trace-ascii log/6/trace122 --trace-config all --trace-time ftp://127.0.0.1:37857/122 -C 5 > log/6/stdout122 2> log/6/stderr122 UnknownInlinedFun (string_fortified.h:59) ==113458== by 0x4003082: main (tool_main.c:243) === End of file valgrind146 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/2/valgrind147 ../src/curl -q --output log/2/curl147.out --include --trace-ascii log/2/trace147 --trace-config all --trace-time ftp://127.0.0.1:41115/first/dir/here/147 --ftp-create-dirs > log/2/stdout147 2> log/2/stderr147 147: 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 147 === Start of file commands.log ../libtool --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/valgrind147 ../src/curl -q --output log/2/curl147.out --include --trace-ascii log/2/trace147 --trace-config all --trace-time ftp://127.0.0.1:41115/first/dir/here/147 --ftp-create-dirs > log/2/stdout147 2> log/2/stderr147 === End of file commands.log === Start of file ftp_server.log 20:54:35.413653 ====> Client connect 20:54:35.413793 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.414040 < "USER anonymous" 20:54:35.414067 > "331 We are happy you popped in![CR][LF]" 20:54:35.414206 < "PASS ftp@example.com" 20:54:35.414228 > "230 Welcome you silly person[CR][LF]" 20:54:35.414348 < "PWD" 20:54:35.414372 > "257 "/" is current directory[CR][LF]" 20:54:35.414503 < "EPSV" 20:54:35.414529 ====> Passive DATA channel requested by client 20:54:35.414540 DATA sockfilt for passive data channel starting... 20:54:35.416084 DATA sockfilt for passive data channel started (pid 113433) 20:54:35.416188 DATA sockfilt for passive data channel listens on port 40167 20:54:35.416226 > "229 Entering Passive Mode (|||40167|)[LF]" 20:54:35.416242 Client has been notified that DATA conn will be accepted on port 40167 20:54:35.416413 Client connects to port 40167 20:54:35.416434 ====> Client established passive DATA connection on port 40167 20:54:35.416488 < "TYPE I" 20:54:35.416511 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.416620 < "SIZE verifiedserver" 20:54:35.416650 > "213 18[CR][LF]" 20:54:35.416752 < "RETR verifiedserver" 20:54:35.416780 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.416841 =====> Closing passive DATA connection... 20:54:35.416854 Server disconnects passive DATA connection 20:54:35.416915 Server disconnected passive DATA connection 20:54:35.416931 DATA sockfilt for passive data channel quits (pid 113433) 20:54:35.417131 DATA sockfilt for passive data channel quit (pid 113433) 20:54:35.417144 =====> Closed passive DATA connection 20:54:35.417166 > "226 File transfer complete[CR][LF]" 20:54:35.459170 < "QUIT" 20:54:35.459226 > "221 bye bye baby[CR][LF]" 20:54:35.459509 MAIN sockfilt said DISC 20:54:35.459656 ====> Client disconnected 20:54:35.459779 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.635065 ====> Client connect 20:54:34.635314 Received DATA (on stdin) 20:54:34.635328 > 160 bytes data, server => client 20:54:34.635339 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.635350 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.635359 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.635420 < 16 bytes data, client => server 20:54:34.635431 'USER anonymous\r\n' 20:54:34.635581 Received DATA (on stdin) 20:54:34.635591 > 33 bytes data, server => client 20:54:34.635601 '331 We are happy you popped in!\r\n' 20:54:34.635643 < 22 bytes data, client => server 20:54:34.635653 'PASS ftp@example.com\r\n' 20:54:34.635738 Received DATA (on stdin) 20:54:34.635748 > 30 bytes data, server => client 20:54:34.635758 '230 Welcome you silly person\r\n' 20:54:34.635795 < 5 bytes data, client => server 20:54:34.635804 'PWD\r\n' 20:54:34.635881 Received DATA (on stdin) 20:54:34.635892 > 30 bytes data, server => client 20:54:34.635902 '257 "/" is current directory\r\n' 20:54:34.635949 < 6 bytes data, client => server 20:54:34.635959 'EPSV\r\n' 20:54:34.637760 Received DATA (on stdin) 20:54:34.637772 > 38 bytes data, server => client 20:54:34.637783 '229 Entering Passive Mode (|||40167|)\n' 20:54:34.637874 < 8 bytes data, client => server 20:54:34.637884 'TYPE I\r\n' 20:54:34.638022 Received DATA (on stdin) 20:54:34.638032 > 33 bytes data, server => client 20:54:34.638042 '200 I modify TYPE as you wanted\r\n' 20:54:34.638083 < 21 bytes data, client => server 20:54:34.638096 'SIZE verifiedserver\r\n' 20:54:34.638161 Received DATA (on stdin) 20:54:34.638172 > 8 bytes data, server => client 20:54:34.638181 '213 18\r\n' 20:54:34.638216 < 21 bytes data, client => server 20:54:34.638226 'RETR verifiedserver\r\n' 20:54:34.638346 Received DATA (on stdin) 20:54:34.638356 > 29 bytes data, server => client 20:54:34.638366 '150 Binary junk (18 bytes).\r\n' 20:54:34.638677 Received DATA (on stdin) 20:54:34.638689 > 28 bytes data, server => client 20:54:34.638699 '226 File transfer complete\r\n' 20:54:34.680467 < 6 bytes data, client => server 20:54:34.680495 'QUIT\r\n' 20:54:34.680768 Received DATA (on stdin) 20:54:34.680788 > 18 bytes data, server => client 20:54:34.680799 '221 bye bye baby\r\n' 20:54:34.680872 ====> Client disconnect 20:54:34.681151 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.637441 Running IPv4 version 20:54:35.637492 Listening on port 40167 20:54:35.637529 Wrote pid 113433 to log/2/server/ftp_sockdata.pid 20:54:35.637546 Received PING (on stdin) 20:54:35.637627 Received PORT (on stdin) 20:54:35.637876 ====> Client connect 20:54:35.638298 Received DATA (on stdin) 20:54:35.638308 > 18 bytes data, server => client 20:54:35.638317 'WE ROOLZ: 110829\r\n' 20:54:35.638370 Received DISC (on stdin) 20:54:35.638382 ====> Client forcibly disconnected 20:54:35.638444 Received QUIT (on stdin) 20:54:35.638456 quits 20:54:35.638505 ============> 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 ==113538== ==113538== Process terminating with default action of signal 4 (SIGILL) ==113538== Illegal opcode at address 0x4003082 ==113538== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113538== by 0x4003082: main (tool_main.c:243) === End of file valgrind147 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 37857 (log/6/server/ftp_server.port) RUN: FTP server is PID 111185 port 37857 * pid ftp => 111185 111185 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/6/valgrind122 ../src/curl -q --output log/6/curl122.out --include --trace-ascii log/6/trace122 --trace-config all --trace-time ftp://127.0.0.1:37857/122 -C 5 > log/6/stdout122 2> log/6/stderr122 122: 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 122 === Start of file commands.log ../libtool --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/valgrind122 ../src/curl -q --output CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind148 ../src/curl -q --output log/13/curl148.out --include --trace-ascii log/13/trace148 --trace-config all --trace-time ftp://127.0.0.1:43911/attempt/to/get/this/148 --ftp-create-dirs > log/13/stdout148 2> log/13/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/15/valgrind150 ../src/curl -q --output log/15/curl150.out --include --trace-ascii log/15/trace150 --trace-config all --trace-time http://127.0.0.1:39051/150 -u testuser:testpass --ntlm --fail > log/15/stdout150 2> log/15/stderr150 log/6/curl122.out --include --trace-ascii log/6/trace122 --trace-config all --trace-time ftp://127.0.0.1:37857/122 -C 5 > log/6/stdout122 2> log/6/stderr122 === End of file commands.log === Start of file ftp_server.log 20:54:34.533733 FTP server listens on port IPv4/37857 20:54:34.533783 logged pid 111185 in log/6/server/ftp_server.pid 20:54:34.533798 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.755070 Running IPv4 version 20:54:34.755126 Listening on port 37857 20:54:34.755151 Wrote pid 111186 to log/6/server/ftp_sockctrl.pid 20:54:34.755171 Wrote port 37857 to log/6/server/ftp_server.port 20:54:34.755184 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 122 === End of file server.cmd === Start of file valgrind122 ==113600== ==113600== Process terminating with default action of signal 4 (SIGILL) ==113600== Illegal opcode at address 0x4003082 ==113600== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113600== by 0x4003082: main (tool_main.c:243) === End of file valgrind122 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/13/valgrind148 ../src/curl -q --output log/13/curl148.out --include --trace-ascii log/13/trace148 --trace-config all --trace-time ftp://127.0.0.1:43911/attempt/to/get/this/148 --ftp-create-dirs > log/13/stdout148 2> log/13/stderr148 148: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind148 ../src/curl -q --output log/13/curl148.out --include --trace-ascii log/13/trace148 --trace-config all --trace-time ftp://127.0.0.1:43911/attempt/to/get/this/148 --ftp-create-dirs > log/13/stdout148 2> log/13/stderr148 === End of file commands.log === Start of file ftp_server.log 20:54:35.484753 ====> Client connect 20:54:35.484938 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.485216 < "USER anonymous" 20:54:35.485247 > "331 We are happy you popped in![CR][LF]" 20:54:35.485403 < "PASS ftp@example.com" 20:54:35.485428 > "230 Welcome you silly person[CR][LF]" 20:54:35.485565 < "PWD" 20:54:35.485592 > "257 "/" is current directory[CR][LF]" 20:54:35.485727 < "EPSV" 20:54:35.485751 ====> Passive DATA channel requested by client 20:54:35.485762 DATA sockfilt for passive data channel starting... 20:54:35.487759 DATA sockfilt for passive data channel started (pid 113570) 20:54:35.487875 DATA sockfilt for passive data channel listens on port 35255 20:54:35.487913 > "229 Entering Passive Mode (|||35255|)[LF]" 20:54:35.487928 Client has been notified that DATA conn will be accepted on port 35255 20:54:35.488105 Client connects to port 35255 20:54:35.488132 ====> Client established passive DATA connection on port 35255 20:54:35.488189 < "TYPE I" 20:54:35.488213 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.488345 < "SIZE verifiedserver" 20:54:35.488379 > "213 18[CR][LF]" 20:54:35.488507 < "RETR verifiedserver" 20:54:35.488531 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.488600 =====> Closing passive DATA connection... 20:54:35.488614 Server disconnects passive DATA connection 20:54:35.488753 Server disconnected passive DATA connection 20:54:35.488777 DATA sockfilt for passive data channel quits (pid 113570) 20:54:35.489054 DATA sockfilt for passive data channel quit (pid 113570) 20:54:35.489075 =====> Closed passive DATA connection 20:54:35.489098 > "226 File transfer complete[CR][LF]" 20:54:35.529169 < "QUIT" 20:54:35.529241 > "221 bye bye baby[CR][LF]" 20:54:35.530353 MAIN sockfilt said DISC 20:54:35.530383 ====> Client disconnected 20:54:35.531133 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.706147 ====> Client connect 20:54:34.706461 Received DATA (on stdin) 20:54:34.706476 > 160 bytes data, server => client 20:54:34.706488 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:34.706498 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:34.706508 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:34.706580 < 16 bytes data, client => server 20:54:34.706591 'USER anonymous\r\n' 20:54:34.706762 Received DATA (on stdin) 20:54:34.706773 > 33 bytes data, server => client 20:54:34.706783 '331 We are happy you popped in!\r\n' 20:54:34.706827 < 22 bytes data, client => server 20:54:34.706837 'PASS ftp@example.com\r\n' 20:54:34.706941 Received DATA (on stdin) 20:54:34.706951 > 30 bytes data, server => client 20:54:34.706961 '230 Welcome you silly person\r\n' 20:54:34.707003 < 5 bytes data, client => server 20:54:34.707013 'PWD\r\n' 20:54:34.707102 Received DATA (on stdin) 20:54:34.707112 > 30 bytes data, server => client 20:54:34.707122 '257 "/" is current directory\r\n' 20:54:34.707170 < 6 bytes data, client => server 20:54:34.707180 'EPSV\r\n' 20:54:34.709445 Received DATA (on stdin) 20:54:34.709457 > 38 bytes data, server => client 20:54:34.709467 '229 Entering Passive Mode (|||35255|)\n' 20:54:34.709563 < 8 bytes data, client => server 20:54:34.709579 'TYPE I\r\n' 20:54:34.709724 Received DATA (on stdin) 20:54:34.709735 > 33 bytes data, server => client 20:54:34.709745 '200 I modify TYPE as you wanted\r\n' 20:54:34.709788 < 21 bytes data, client => server 20:54:34.709798 'SIZE verifiedserver\r\n' 20:54:34.709893 Received DATA (on stdin) 20:54:34.709903 > 8 bytes data, server => client 20:54:34.709912 '213 18\r\n' 20:54:34.709951 < 21 bytes data, client => server 20:54:34.709960 'RETR verifiedserver\r\n' 20:54:34.710127 Received DATA (on stdin) 20:54:34.710138 > 29 bytes data, server => client 20:54:34.710149 '150 Binary junk (18 bytes).\r\n' 20:54:34.710612 Received DATA (on stdin) 20:54:34.710625 > 28 bytes data, server => client 20:54:34.710635 '226 File transfer complete\r\n' 20:54:34.750475 < 6 bytes data, client => server 20:54:34.750506 'QUIT\r\n' 20:54:34.750759 Received DATA (on stdin) 20:54:34.750771 > 18 bytes data, server => client 20:54:34.750781 '221 bye bye baby\r\n' 20:54:34.751775 ====> Client disconnect 20:54:34.751954 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.708948 Running IPv4 version 20:54:35.709021 Listening on port 35255 20:54:35.709061 Wrote pid 113570 to log/13/server/ftp_sockdata.pid 20:54:35.709208 Received PING (on stdin) 20:54:35.709309 Received PORT (on stdin) 20:54:35.709553 ====> Client connect 20:54:35.710053 Received DATA (on stdin) 20:54:35.710070 > 18 bytes data, server => client 20:54:35.710082 'WE ROOLZ: 110831\r\n' 20:54:35.710124 Received DISC (on stdin) 20:54:35.710138 ====> Client forcibly disconnected 20:54:35.710293 Received QUIT (on stdin) 20:54:35.710308 quits 20:54:35.710366 ============> 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 ==113626== ==113626== Process terminating with default action of signal 4 (SIGILL) ==113626== Illegal opcode at address 0x4003082 ==113626== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113626== by 0x4003082: main (tool_main.c:243) === End of file valgrind148 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 --log-file=log/15/CMD (33792): ../libtool --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/valgrind149 ../src/curl -q --output log/11/curl149.out --include --trace-ascii log/11/trace149 --trace-config all --trace-time -T log/11/upload149 ftp://127.0.0.1:45405/dir1/149 -T log/11/upload149 ftp://127.0.0.1:45405/dir2/149 > log/11/stdout149 2> log/11/stderr149 valgrind150 ../src/curl -q --output log/15/curl150.out --include --trace-ascii log/15/trace150 --trace-config all --trace-time http://127.0.0.1:39051/150 -u testuser:testpass --ntlm --fail > log/15/stdout150 2> log/15/stderr150 150: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind150 ../src/curl -q --output log/15/curl150.out --include --trace-ascii log/15/trace150 --trace-config all --trace-time http://127.0.0.1:39051/150 -u testuser:testpass --ntlm --fail > log/15/stdout150 2> log/15/stderr150 === End of file commands.log === Start of file http_server.log 20:54:35.784343 ====> Client connect 20:54:35.784375 accept_connection 3 returned 4 20:54:35.784395 accept_connection 3 returned 0 20:54:35.784409 Read 93 bytes 20:54:35.784419 Process 93 bytes request 20:54:35.784434 Got request: GET /verifiedserver HTTP/1.1 20:54:35.784442 Are-we-friendly question received 20:54:35.784466 Wrote request (93 bytes) input to log/15/server.input 20:54:35.784481 Identifying ourselves as friends 20:54:35.784539 Response sent (57 bytes) and written to log/15/server.response 20:54:35.784550 special request received, no persistency 20:54:35.784559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind150 ==113725== ==113725== Process terminating with default action of signal 4 (SIGILL) ==113725== Illegal opcode at address 0x4003082 ==113725== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113725== by 0x4003082: main (tool_main.c:243) === End of file valgrind150 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/11/valgrind149 ../src/curl -q --output log/11/curl149.out --include --trace-ascii log/11/trace149 --trace-config all --trace-time -T log/11/upload149 ftp://127.0.0.1:45405/dir1/149 -T log/11/upload149 ftp://127.0.0.1:45405/dir2/149 > log/11/stdout149 2> log/11/stderr149 149: 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 149 === Start of file commands.log ../libtool --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/valgrind149 ../src/curl -q --output log/11/curl149.out --include --trace-ascii log/11/trace149 --trace-config all --trace-time -T log/11/upload149 ftp://127.0.0.1:45405/dir1/149 -T log/11/upload149 ftp://127.0.0.1:45405/dir2/149 > log/11/stdout149 2> log/11/stderr149 === End of file commands.log === Start of file ftp_server.log 20:54:35.559784 ====> Client connect 20:54:35.559949 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.560203 < "USER anonymous" 20:54:35.560239 > "331 We are happy you popped in![CR][LF]" 20:54:35.560467 < "PASS ftp@example.com" 20:54:35.560494 > "230 Welcome you silly person[CR][LF]" 20:54:35.560807 < "PWD" 20:54:35.560844 > "257 "/" is current directory[CR][LF]" 20:54:35.560999 < "EPSV" 20:54:35.561023 ====> Passive DATA channel requested by client 20:54:35.561034 DATA sockfilt for passive data channel starting... 20:54:35.562549 DATA sockfilt for passive data channel started (pid 113694) 20:54:35.562667 DATA sockfilt for passive data channel listens on port 38335 20:54:35.562717 > "229 Entering Passive Mode (|||38335|)[LF]" 20:54:35.562736 Client has been notified that DATA conn will be accepted on port 38335 20:54:35.563075 Client connects to port 38335 20:54:35.563112 ====> Client established passive DATA connection on port 38335 20:54:35.563189 < "TYPE I" 20:54:35.563218 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.563367 < "SIZE verifiedserver" 20:54:35.563409 > "213 18[CR][LF]" 20:54:35.563565 < "RETR verifiedserver" 20:54:35.563596 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.563685 =====> Closing passive DATA connection... 20:54:35.563702 Server disconnects passive DATA connection 20:54:35.563918 Server disconnected passive DATA connection 20:54:35.563946 DATA sockfilt for passive data channel quits (pid 113694) 20:54:35.564170 DATA sockfilt for passive data channel quit (pid 113694) 20:54:35.564194 =====> Closed passive DATA connection 20:54:35.564220 > "226 File transfer complete[CR][LF]" 20:54:35.609126 < "QUIT" 20:54:35.609171 > "221 bye bye baby[CR][LF]" 20:54:35.609331 MAIN sockfilt said DISC 20:54:35.609367 ====> Client disconnected 20:54:35.609713 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.781178 ====> Client connect 20:54:35.781471 Received DATA (on stdin) 20:54:35.781484 > 160 bytes data, server => client 20:54:35.781495 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.781506 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.781515 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.781579 < 16 bytes data, client => server 20:54:35.781590 'USER anonymous\r\n' 20:54:35.781757 Received DATA (on stdin) 20:54:35.781770 > 33 bytes data, server => client 20:54:35.781781 '331 We are happy you popped in!\r\n' 20:54:35.781880 < 22 bytes data, client => server 20:54:35.781900 'PASS ftp@example.com\r\n' 20:54:35.782009 Received DATA (on stdin) 20:54:35.782020 > 30 bytes data, server => client 20:54:35.782031 '230 Welcome you silly person\r\n' 20:54:35.782225 < 5 bytes data, client => server 20:54:35.782241 'PWD\r\n' 20:54:35.782364 Received DATA (on stdin) 20:54:35.782377 > 30 bytes data, server => client 20:54:35.782387 '257 "/" is current directory\r\n' 20:54:35.782439 < 6 bytes data, client => server 20:54:35.782449 'EPSV\r\n' 20:54:35.784258 Received DATA (on stdin) 20:54:35.784271 > 38 bytes data, server => client 20:54:35.784283 '229 Entering Passive Mode (|||38335|)\n' 20:54:35.784439 < 8 bytes data, client => server 20:54:35.784451 'TYPE I\r\n' 20:54:35.784716 Received DATA (on stdin) 20:54:35.784729 > 33 bytes data, server => client 20:54:35.784739 '200 I modify TYPE as you wanted\r\n' 20:54:35.784785 < 21 bytes data, client => server 20:54:35.784798 'SIZE verifiedserver\r\n' 20:54:35.784928 Received DATA (on stdin) 20:54:35.784939 > 8 bytes data, server => client 20:54:35.784949 '213 18\r\n' 20:54:35.784995 < 21 bytes data, client => server 20:54:35.785007 'RETR verifiedserver\r\n' 20:54:35.785221 Received DATA (on stdin) 20:54:35.785233 > 29 bytes data, server => client 20:54:35.785243 '150 Binary junk (18 bytes).\r\n' 20:54:35.785735 Received DATA (on stdin) 20:54:35.785747 > 28 bytes data, server => client 20:54:35.785757 '226 File transfer complete\r\n' 20:54:35.830446 < 6 bytes data, client => server 20:54:35.830506 'QUIT\r\n' 20:54:35.830683 Received DATA (on stdin) 20:54:35.830691 > 18 bytes data, server => client 20:54:35.830698 '221 bye bye baby\r\n' 20:54: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/3/valgrind154 ../src/curl -q --output log/3/curl154.out --include --trace-ascii log/3/trace154 --trace-config all --trace-time http://127.0.0.1:33171/154 -T log/3/put154 -u testuser:testpass --anyauth > log/3/stdout154 2> log/3/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/4/valgrind158 ../src/curl -q --output log/4/curl158.out --include --trace-ascii log/4/trace158 --trace-config all --trace-time http://127.0.0.1:35779/158 -F name=daniel > log/4/stdout158 2> log/4/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/17/valgrind161 ../src/curl -q --output log/17/curl161.out --include --trace-ascii log/17/trace161 --trace-config all --trace-time ftp://127.0.0.1:42765/161 > log/17/stdout161 2> log/17/stderr161 5.830791 ====> Client disconnect 20:54:35.830883 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.783883 Running IPv4 version 20:54:35.783946 Listening on port 38335 20:54:35.783990 Wrote pid 113694 to log/11/server/ftp_sockdata.pid 20:54:35.784009 Received PING (on stdin) 20:54:35.784098 Received PORT (on stdin) 20:54:35.784410 ====> Client connect 20:54:35.785268 Received DATA (on stdin) 20:54:35.785280 > 18 bytes data, server => client 20:54:35.785290 'WE ROOLZ: 110833\r\n' 20:54:35.785315 Received DISC (on stdin) 20:54:35.785326 ====> Client forcibly disconnected 20:54:35.785469 Received QUIT (on stdin) 20:54:35.785480 quits 20:54:35.785537 ============> 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 ==113778== ==113778== Process terminating with default action of signal 4 (SIGILL) ==113778== Illegal opcode at address 0x4003082 ==113778== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113778== by 0x4003082: main (tool_main.c:243) === End of file valgrind149 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/3/valgrind154 ../src/curl -q --output log/3/curl154.out --include --trace-ascii log/3/trace154 --trace-config all --trace-time http://127.0.0.1:33171/154 -T log/3/put154 -u testuser:testpass --anyauth > log/3/stdout154 2> log/3/stderr154 154: 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 154 === Start of file commands.log ../libtool --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/valgrind154 ../src/curl -q --output log/3/curl154.out --include --trace-ascii log/3/trace154 --trace-config all --trace-time http://127.0.0.1:33171/154 -T log/3/put154 -u testuser:testpass --anyauth > log/3/stdout154 2> log/3/stderr154 === End of file commands.log === Start of file http_server.log 20:54:35.926832 ====> Client connect 20:54:35.927039 accept_connection 3 returned 4 20:54:35.927058 accept_connection 3 returned 0 20:54:35.927072 Read 93 bytes 20:54:35.927082 Process 93 bytes request 20:54:35.927092 Got request: GET /verifiedserver HTTP/1.1 20:54:35.927101 Are-we-friendly question received 20:54:35.927124 Wrote request (93 bytes) input to log/3/server.input 20:54:35.927138 Identifying ourselves as friends 20:54:35.927193 Response sent (57 bytes) and written to log/3/server.response 20:54:35.927203 special request received, no persistency 20:54:35.927211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind154 ==114125== ==114125== Process terminating with default action of signal 4 (SIGILL) ==114125== Illegal opcode at address 0x4003082 ==114125== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114125== by 0x4003082: main (tool_main.c:243) === End of file valgrind154 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/4/valgrind158 ../src/curl -q --output log/4/curl158.out --include --trace-ascii log/4/trace158 --trace-config all --trace-time http://127.0.0.1:35779/158 -F name=daniel > log/4/stdout158 2> log/4/stderr158 158: 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 158 === Start of file commands.log ../libtool --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/valgrind158 ../src/curl -q --output log/4/curl158.out --include --trace-ascii log/4/trace158 --trace-config all --trace-time http://127.0.0.1:35779/158 -F name=daniel > log/4/stdout158 2> log/4/stderr158 === End of file commands.log === Start of file http_server.log 20:54:35.932116 ====> Client connect 20:54:35.932144 accept_connection 3 returned 4 20:54:35.932160 accept_connection 3 returned 0 20:54:35.932173 Read 93 bytes 20:54:35.932182 Process 93 bytes request 20:54:35.932193 Got request: GET /verifiedserver HTTP/1.1 20:54:35.932203 Are-we-friendly question received 20:54:35.932224 Wrote request (93 bytes) input to log/4/server.input 20:54:35.932240 Identifying ourselves as friends 20:54:35.932288 Response sent (57 bytes) and written to log/4/server.response 20:54:35.932298 special request received, no persistency 20:54:35.932306 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind158 ==114105== ==114105== Process terminating with default action of signal 4 (SIGILL) ==114105== Illegal opcode at address 0x4003082 ==114105== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114105== by 0x4003082: main (tool_main.c:243) === End of file valgrind158 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/17/valgrind161 ../src/curl -q --output log/17/curl161.out --include --trace-ascii log/17/trace161 --trace-config all --trace-time ftp://127.0.0.1:42765/161 > log/17/stdout161 2> log/17/stderr161 161: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind161 ../src/curl -q --output log/17/curl161.out --include --trace-ascii log/17/trace161 --trace-config all --trace-time ftp://127.0.0.1:42765/161 > log/17/stdout161 2> log/17/stderr161 === End of file commands.log === Start of file ftp_server.log 20:54:35.710601 ====> Client connect 20:54:35.710754 > "220- _ _ ____ _ [CR][LF]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/20/valgrind162 ../src/curl -q --output log/20/curl162.out --include --trace-ascii log/20/trace162 --trace-config all --trace-time http://127.0.0.1:41293/162 --proxy http://127.0.0.1:41293 --proxy-user foo:bar --proxy-ntlm --fail > log/20/stdout162 2> log/20/stderr162 _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:35.711030 < "USER anonymous" 20:54:35.711064 > "331 We are happy you popped in![CR][LF]" 20:54:35.711234 < "PASS ftp@example.com" 20:54:35.711262 > "230 Welcome you silly person[CR][LF]" 20:54:35.711416 < "PWD" 20:54:35.711485 > "257 "/" is current directory[CR][LF]" 20:54:35.711650 < "EPSV" 20:54:35.711673 ====> Passive DATA channel requested by client 20:54:35.711687 DATA sockfilt for passive data channel starting... 20:54:35.713652 DATA sockfilt for passive data channel started (pid 114063) 20:54:35.713759 DATA sockfilt for passive data channel listens on port 36863 20:54:35.713801 > "229 Entering Passive Mode (|||36863|)[LF]" 20:54:35.713819 Client has been notified that DATA conn will be accepted on port 36863 20:54:35.714040 Client connects to port 36863 20:54:35.714067 ====> Client established passive DATA connection on port 36863 20:54:35.714131 < "TYPE I" 20:54:35.714158 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:35.714314 < "SIZE verifiedserver" 20:54:35.714348 > "213 18[CR][LF]" 20:54:35.714502 < "RETR verifiedserver" 20:54:35.714536 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:35.714611 =====> Closing passive DATA connection... 20:54:35.714626 Server disconnects passive DATA connection 20:54:35.714843 Server disconnected passive DATA connection 20:54:35.714869 DATA sockfilt for passive data channel quits (pid 114063) 20:54:35.715112 DATA sockfilt for passive data channel quit (pid 114063) 20:54:35.715134 =====> Closed passive DATA connection 20:54:35.715159 > "226 File transfer complete[CR][LF]" 20:54:35.755942 < "QUIT" 20:54:35.756009 > "221 bye bye baby[CR][LF]" 20:54:35.756301 MAIN sockfilt said DISC 20:54:35.756375 ====> Client disconnected 20:54:35.756453 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.931977 ====> Client connect 20:54:35.932282 Received DATA (on stdin) 20:54:35.932297 > 160 bytes data, server => client 20:54:35.932311 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.932323 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.932335 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.932401 < 16 bytes data, client => server 20:54:35.932416 'USER anonymous\r\n' 20:54:35.932582 Received DATA (on stdin) 20:54:35.932596 > 33 bytes data, server => client 20:54:35.932609 '331 We are happy you popped in!\r\n' 20:54:35.932659 < 22 bytes data, client => server 20:54:35.932671 'PASS ftp@example.com\r\n' 20:54:35.932776 Received DATA (on stdin) 20:54:35.932790 > 30 bytes data, server => client 20:54:35.932801 '230 Welcome you silly person\r\n' 20:54:35.932849 < 5 bytes data, client => server 20:54:35.932861 'PWD\r\n' 20:54:35.932999 Received DATA (on stdin) 20:54:35.933012 > 30 bytes data, server => client 20:54:35.933024 '257 "/" is current directory\r\n' 20:54:35.933082 < 6 bytes data, client => server 20:54:35.933095 'EPSV\r\n' 20:54:35.935338 Received DATA (on stdin) 20:54:35.935352 > 38 bytes data, server => client 20:54:35.935364 '229 Entering Passive Mode (|||36863|)\n' 20:54:35.935500 < 8 bytes data, client => server 20:54:35.935513 'TYPE I\r\n' 20:54:35.935673 Received DATA (on stdin) 20:54:35.935685 > 33 bytes data, server => client 20:54:35.935697 '200 I modify TYPE as you wanted\r\n' 20:54:35.935746 < 21 bytes data, client => server 20:54:35.935759 'SIZE verifiedserver\r\n' 20:54:35.935863 Received DATA (on stdin) 20:54:35.935875 > 8 bytes data, server => client 20:54:35.935885 '213 18\r\n' 20:54:35.935934 < 21 bytes data, client => server 20:54:35.935946 'RETR verifiedserver\r\n' 20:54:35.936145 Received DATA (on stdin) 20:54:35.936157 > 29 bytes data, server => client 20:54:35.936168 '150 Binary junk (18 bytes).\r\n' 20:54:35.936675 Received DATA (on stdin) 20:54:35.936689 > 28 bytes data, server => client 20:54:35.936700 '226 File transfer complete\r\n' 20:54:35.977202 < 6 bytes data, client => server 20:54:35.977230 'QUIT\r\n' 20:54:35.977529 Received DATA (on stdin) 20:54:35.977541 > 18 bytes data, server => client 20:54:35.977552 '221 bye bye baby\r\n' 20:54:35.977754 ====> Client disconnect 20:54:35.977899 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:35.934982 Running IPv4 version 20:54:35.935046 Listening on port 36863 20:54:35.935090 Wrote pid 114063 to log/17/server/ftp_sockdata.pid 20:54:35.935111 Received PING (on stdin) 20:54:35.935190 Received PORT (on stdin) 20:54:35.935473 ====> Client connect 20:54:35.936195 Received DATA (on stdin) 20:54:35.936208 > 18 bytes data, server => client 20:54:35.936219 'WE ROOLZ: 110706\r\n' 20:54:35.936242 Received DISC (on stdin) 20:54:35.936255 ====> Client forcibly disconnected 20:54:35.936391 Received QUIT (on stdin) 20:54:35.936403 quits 20:54:35.936460 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==114485== ==114485== Process terminating with default action of signal 4 (SIGILL) ==114485== Illegal opcode at address 0x4003082 ==114485== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114485== by 0x4003082: main (tool_main.c:243) === 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/20/valgrind162 ../src/curl -q --output log/20/curl162.out --include --trace-ascii log/20/trace162 --trace-config all --trace-time http://127.0.0.1:41293/162 --proxy http://127.0.0.1:41293 --proxy-user foo:bar --proxy-ntlm --fail > log/20/stdout162 2> log/20/stderr162 162: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind162 ../src/curl -q --output log/20/curl162.out --include --trace-ascii log/20/trace162 --trace-config all --trace-time http://127.0.0.1:41293/162 --proxy http://127.0.0.1:41293 --proxy-user foo:bar --proxy-ntlm --fail > log/20/stdout162 2> log/20/stderr162 === End of file commands.log === Start of file http_server.log 20:54:35.999482 ====> Client connect 20:54:35.999588 accept_connection 3 returned 4 20:54:35.999636 accept_connection 3 returned 0 20:54:35.999655 Read 93 bytes 20:54:35.999666 Process 93 bytes request 20:54:35.999684 Got request: GET /verifiedserver HTTP/1.1 20:54:35.999693 Are-we-friendly question received 20:54:35.999720 Wrote request (93 bytes) input to log/20/server.input 20:54:35.999752 Identifying ourselves as friends 20:54:35.999860 Response sent (57 bytes) and written to log/20/server.response 20:54:35.999874 special request received, no persistency 20:54:35.999883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind162 ==114533== ==114533== Process terminating with default action of signal 4 (SIGILL) ==114533== Illegal opcode at address 0x4003082 ==114533== at 0x4003082: 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/9/valgrind151 ../src/curl -q --output log/9/curl151.out --include --trace-ascii log/9/trace151 --trace-config all --trace-time http://127.0.0.1:46863/151 > log/9/stdout151 2> log/9/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/23/valgrind152 ../src/curl -q --output log/23/curl152.out --include --trace-ascii log/23/trace152 --trace-config all --trace-time http://127.0.0.1:38539/152 --fail > log/23/stdout152 2> log/23/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/18/valgrind127 ../src/curl -q --output log/18/curl127.out --include --trace-ascii log/18/trace127 --trace-config all --trace-time ftp://127.0.0.1:37859/path/to/file/127 --disable-epsv > log/18/stdout127 2> log/18/stderr127 CMD (33792): ../libtool --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/valgrind157 ../src/curl -q --output log/5/curl157.out --include --trace-ascii log/5/trace157 --trace-config all --trace-time http://127.0.0.1:33725/157 -u testuser:testpass --anyauth > log/5/stdout157 2> log/5/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/21/valgrind153 ../src/curl -q --include --trace-ascii log/21/trace153 --trace-config all --trace-time http://127.0.0.1:36793/1530001 -u testuser:testpass --digest http://127.0.0.1:36793/1530002 > log/21/stdout153 2> log/21/stderr153 (string_fortified.h:59) ==114533== by 0x4003082: main (tool_main.c:243) === End of file valgrind162 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/9/valgrind151 ../src/curl -q --output log/9/curl151.out --include --trace-ascii log/9/trace151 --trace-config all --trace-time http://127.0.0.1:46863/151 > log/9/stdout151 2> log/9/stderr151 151: 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 151 === Start of file commands.log ../libtool --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/valgrind151 ../src/curl -q --output log/9/curl151.out --include --trace-ascii log/9/trace151 --trace-config all --trace-time http://127.0.0.1:46863/151 > log/9/stdout151 2> log/9/stderr151 === End of file commands.log === Start of file http_server.log 20:54:35.883983 ====> Client connect 20:54:35.884019 accept_connection 3 returned 4 20:54:35.884037 accept_connection 3 returned 0 20:54:35.884051 Read 93 bytes 20:54:35.884062 Process 93 bytes request 20:54:35.884079 Got request: GET /verifiedserver HTTP/1.1 20:54:35.884090 Are-we-friendly question received 20:54:35.884117 Wrote request (93 bytes) input to log/9/server.input 20:54:35.884139 Identifying ourselves as friends 20:54:35.884207 Response sent (57 bytes) and written to log/9/server.response 20:54:35.884219 special request received, no persistency 20:54:35.884229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind151 ==113871== ==113871== Process terminating with default action of signal 4 (SIGILL) ==113871== Illegal opcode at address 0x4003082 ==113871== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113871== by 0x4003082: main (tool_main.c:243) === End of file valgrind151 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/23/valgrind152 ../src/curl -q --output log/23/curl152.out --include --trace-ascii log/23/trace152 --trace-config all --trace-time http://127.0.0.1:38539/152 --fail > log/23/stdout152 2> log/23/stderr152 152: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind152 ../src/curl -q --output log/23/curl152.out --include --trace-ascii log/23/trace152 --trace-config all --trace-time http://127.0.0.1:38539/152 --fail > log/23/stdout152 2> log/23/stderr152 === End of file commands.log === Start of file http_server.log 20:54:35.903790 ====> Client connect 20:54:35.903817 accept_connection 3 returned 4 20:54:35.903834 accept_connection 3 returned 0 20:54:35.903846 Read 93 bytes 20:54:35.903854 Process 93 bytes request 20:54:35.903864 Got request: GET /verifiedserver HTTP/1.1 20:54:35.903872 Are-we-friendly question received 20:54:35.903891 Wrote request (93 bytes) input to log/23/server.input 20:54:35.903903 Identifying ourselves as friends 20:54:35.903956 Response sent (57 bytes) and written to log/23/server.response 20:54:35.903964 special request received, no persistency 20:54:35.903971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind152 ==113968== ==113968== Process terminating with default action of signal 4 (SIGILL) ==113968== Illegal opcode at address 0x4003082 ==113968== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113968== by 0x4003082: main (tool_main.c:243) === End of file valgrind152 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/ftp_server.pid" --logfile "log/18/ftp_server.log" --logdir "log/18" --portfile "log/18/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37859 (log/18/server/ftp_server.port) RUN: FTP server is PID 111651 port 37859 * pid ftp => 111651 111651 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/18/valgrind127 ../src/curl -q --output log/18/curl127.out --include --trace-ascii log/18/trace127 --trace-config all --trace-time ftp://127.0.0.1:37859/path/to/file/127 --disable-epsv > log/18/stdout127 2> log/18/stderr127 127: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind127 ../src/curl -q --output log/18/curl127.out --include --trace-ascii log/18/trace127 --trace-config all --trace-time ftp://127.0.0.1:37859/path/to/file/127 --disable-epsv > log/18/stdout127 2> log/18/stderr127 === End of file commands.log === Start of file ftp_server.log 20:54:34.711564 FTP server listens on port IPv4/37859 20:54:34.711624 logged pid 111651 in log/18/server/ftp_server.pid 20:54:34.711639 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:34.932802 Running IPv4 version 20:54:34.932872 Listening on port 37859 20:54:34.932904 Wrote pid 111749 to log/18/server/ftp_sockctrl.pid 20:54:34.932926 Wrote port 37859 to log/18/server/ftp_server.port 20:54:34.933013 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==113973== ==113973== Process terminating with default action of signal 4 (SIGILL) ==113973== Illegal opcode at address 0x4003082 ==113973== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==113973== by 0x4003082: main (tool_main.c:243) === End of file valgrind127 test 0157...[HTTP GET with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leakCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind156 ../src/curl -q --output log/14/curl156.out --include --trace-ascii log/14/trace156 --trace-config all --trace-time http://127.0.0.1:35661/156 -T log/14/put156 -u testuser:testpass --anyauth > log/14/stdout156 2> log/14/stderr156 CMD (33792): ../libtool --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/valgrind160 ../src/curl -q --include --trace-ascii log/1/trace160 --trace-config all --trace-time http://127.0.0.1:42503/want/160 http://127.0.0.1:42503/wantmore/1600001 > log/1/stdout160 2> log/1/stderr160 -check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind157 ../src/curl -q --output log/5/curl157.out --include --trace-ascii log/5/trace157 --trace-config all --trace-time http://127.0.0.1:33725/157 -u testuser:testpass --anyauth > log/5/stdout157 2> log/5/stderr157 157: 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 157 === Start of file commands.log ../libtool --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/valgrind157 ../src/curl -q --output log/5/curl157.out --include --trace-ascii log/5/trace157 --trace-config all --trace-time http://127.0.0.1:33725/157 -u testuser:testpass --anyauth > log/5/stdout157 2> log/5/stderr157 === End of file commands.log === Start of file http_server.log 20:54:35.932349 ====> Client connect 20:54:35.932385 accept_connection 3 returned 4 20:54:35.932403 accept_connection 3 returned 0 20:54:35.932418 Read 93 bytes 20:54:35.932430 Process 93 bytes request 20:54:35.932443 Got request: GET /verifiedserver HTTP/1.1 20:54:35.932455 Are-we-friendly question received 20:54:35.932486 Wrote request (93 bytes) input to log/5/server.input 20:54:35.932505 Identifying ourselves as friends 20:54:35.932567 Response sent (57 bytes) and written to log/5/server.response 20:54:35.932578 special request received, no persistency 20:54:35.932588 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind157 ==114102== ==114102== Process terminating with default action of signal 4 (SIGILL) ==114102== Illegal opcode at address 0x4003082 ==114102== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114102== by 0x4003082: main (tool_main.c:243) === End of file valgrind157 CMD (33792): ../libtool --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/valgrind155 ../src/curl -q --output log/8/curl155.out --include --trace-ascii log/8/trace155 --trace-config all --trace-time http://127.0.0.1:35791/155 -T log/8/put155 -u testuser:testpass --anyauth > log/8/stdout155 2> log/8/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/21/valgrind153 ../src/curl -q --include --trace-ascii log/21/trace153 --trace-config all --trace-time http://127.0.0.1:36793/1530001 -u testuser:testpass --digest http://127.0.0.1:36793/1530002 > log/21/stdout153 2> log/21/stderr153 153: stdout FAILED: --- log/21/check-expected 2025-06-04 20:54:36.306364765 +0000 +++ log/21/check-generated 2025-06-04 20:54:36.303031432 +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/21/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind153 ../src/curl -q --include --trace-ascii log/21/trace153 --trace-config all --trace-time http://127.0.0.1:36793/1530001 -u testuser:testpass --digest http://127.0.0.1:36793/1530002 > log/21/stdout153 2> log/21/stderr153 === End of file commands.log === Start of file http_server.log 20:54:35.911181 ====> Client connect 20:54:35.911263 accept_connection 3 returned 4 20:54:35.911363 accept_connection 3 returned 0 20:54:35.911459 Read 93 bytes 20:54:35.911525 Process 93 bytes request 20:54:35.911607 Got request: GET /verifiedserver HTTP/1.1 20:54:35.911678 Are-we-friendly question received 20:54:35.911806 Wrote request (93 bytes) input to log/21/server.input 20:54:35.911942 Identifying ourselves as friends 20:54:35.912055 Response sent (57 bytes) and written to log/21/server.response 20:54:35.912075 special request received, no persistency 20:54:35.912085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind153 ==114079== ==114079== Process terminating with default action of signal 4 (SIGILL) ==114079== Illegal opcode at address 0x4003082 ==114079== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114079== by 0x4003082: main (tool_main.c:243) === End of file valgrind153 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/1/valgrind160 ../src/curl -q --include --trace-ascii log/1/trace160 --trace-config all --trace-time http://127.0.0.1:42503/want/160 http://127.0.0.1:42503/wantmore/1600001 > log/1/stdout160 2> log/1/stderr160 160: stdout FAILED: --- log/1/check-expected 2025-06-04 20:54:36.313031432 +0000 +++ log/1/check-generated 2025-06-04 20:54:36.313031432 +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/1/ 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 commands.log ../libtool --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/valgrind160 ../src/curl -q --include --trace-ascii log/1/trace160 --trace-config all --trace-time http://127.0.0.1:42503/want/160 http://127.0.0.1:42503/wantmore/1600001 > log/1/stdout160 2> log/1/stderr160 === End of file commands.log === Start of file http_server.log 20:54:35.932515 ====> Client connect 20:54:35.932546 accept_connection 3 returned 4 20:54:35.932563 accept_connection 3 returned 0 20:54:35.932576 Read 93 bytes 20:54:35.932586 Process 93 bytes request 20:54:35.932598 Got request: GET /verifiedserver HTTP/1.1 20:54:35.932607 Are-we-friendly question received 20:54:35.932642 Wrote request (93 bytes) input to log/1/server.input 20:54:35.932659 Identifying ourselves as friends 20:54:35.932713 Response sent (57 bytes) and written to log/1/server.response 20:54:35.932723 special request received, no persistency 20:54:35.932732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind160 ==114124== ==114124== Process terminating with default action of signal 4 (SIGILL) ==114124== Illegal opcode at address 0x4003082 ==114124== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114124== by 0x4003082: main (tool_main.c:243) === End of file valgrind160 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/8/valgrind155 ../src/curl -q --output log/8/curl155.out --include --trace-ascii log/8/trace155 --trace-config all --trace-time http://127.0.0.1:35791/155 -T log/8/put155 -u testuser:testpass --anyauth > log/8/stdout155 2> log/8/stderr155 155: 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 155 === Start of file commands.log ../libtool --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/valgrind155 ../src/curl -q --output log/8/curl155.out --include --trace-ascii log/8/trace155 --trace-config all --trace-time http://127.0.0.1:35791/155 -T log/8/put155 -u testuser:testpass --anyauth > log/8/stdout155 2> log/8/stderr155 === End of file commands.log === Start of file http_server.log 20:54:35.926831 ====> Client connect 20:54:35.926870 accept_connection 3 returned 4 20:54:35.926887 accept_connection 3 returned 0 20:54:35.926901 Read 93 bytes 20:54:35.926912 Process 93 bytes request 20:54:35.926925 Got request: GET /verifiedserver HTTP/1.1 20:54:35.926935 Are-we-friendly question received 20:54:35.926960 Wrote request (93 bytes) input to log/8/server.input 20:54:35.926976 Identifying ourselves as friends 20:54:35.927030 Response sent (57 bytes) and written to log/8/server.response 20:54:35.927039 special request received, no persistency 20:54:35.927048 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind155 ==114137== ==114137== Process terminating with default action of signal 4 (SIGILL) ==114137== Illegal opcode at address 0x4003082 ==114137== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114137== by 0x4003082: main (tool_main.c:243) === End of file valgrind155 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/14/valgrind156 ../src/curl -q --output log/14/curl156.out --include --trace-ascii log/14/trace156 --trace-config all --trace-time http://127.0.0.1:35661/156 -T log/14/put156 -u testuser:testpass --anyauth > log/14/stdout156 2> log/14/stderr156 156: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 156 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind156 ../src/curl -q --output log/14/curl156.out --include --trace-ascii log/14/trace156 --trace-config all --trace-time http://127.0.0.1:35661/156 -T log/14/put156 -u testuser:testpass --anyauth > log/14/stdout156 2> log/14/stderr156 === End of file commands.log === Start of file http_server.log 20:54:35.927809 ====> Client connect 20:54:35.927841 accept_connection 3 returned 4 20:54:35.927858 accept_connection 3 returned 0 20:54:35.927872 Read 93 bytes 20:54:35.927882 Process 93 bytes request 20:54:35.927895 Got request: GET /verifiedserver HTTP/1.1 20:54:35.927904 Are-we-friendly question received 20:54:35.927928 Wrote request (93 bytes) input to log/14/server.input 20:54:35.927943 Identifying ourselves as friends 20:54:35.927993 Response sent (57 bytes) and written to log/14/server.response 20:54:35.928003 special request received, no persistency 20:54:35.928011 ====> Client disconnect 0 === End of file http_server.log === 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/12/valgrind163 ../src/curl -q --output log/12/curl163.out --include --trace-ascii log/12/trace163 --trace-config all --trace-time http://127.0.0.1:33337/we/want/163 -F "name= log/12/stdout163 2> log/12/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/19/valgrind166 ../src/curl -q --output log/19/curl166.out --include --trace-ascii log/19/trace166 --trace-config all --trace-time http://127.0.0.1:46549/we/want/166 -F "name=@log/19/fie ld 166" > log/19/stdout166 2> log/19/stderr166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind165 ../src/curl -q --output log/22/curl165.out --include --trace-ascii log/22/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:44239 http://www.große.de/page/165 > log/22/stdout165 2> log/22/stderr165 ile http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === End of file http_verify.out === Start of file put156 This is data we 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind156 ==114088== ==114088== Process terminating with default action of signal 4 (SIGILL) ==114088== Illegal opcode at address 0x4003082 ==114088== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114088== by 0x4003082: main (tool_main.c:243) === End of file valgrind156 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/12/valgrind163 ../src/curl -q --output log/12/curl163.out --include --trace-ascii log/12/trace163 --trace-config all --trace-time http://127.0.0.1:33337/we/want/163 -F "name= log/12/stdout163 2> log/12/stderr163 163: 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 163 === Start of file commands.log ../libtool --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/valgrind163 ../src/curl -q --output log/12/curl163.out --include --trace-ascii log/12/trace163 --trace-config all --trace-time http://127.0.0.1:33337/we/want/163 -F "name= log/12/stdout163 2> log/12/stderr163 === End of file commands.log === Start of file field163 contents from a file newlinens? yes please [tab][CR] too === End of file field163 === Start of file http_server.log 20:54:36.116659 ====> Client connect 20:54:36.116689 accept_connection 3 returned 4 20:54:36.116707 accept_connection 3 returned 0 20:54:36.116722 Read 93 bytes 20:54:36.116732 Process 93 bytes request 20:54:36.116745 Got request: GET /verifiedserver HTTP/1.1 20:54:36.116755 Are-we-friendly question received 20:54:36.116778 Wrote request (93 bytes) input to log/12/server.input 20:54:36.116794 Identifying ourselves as friends 20:54:36.116850 Response sent (57 bytes) and written to log/12/server.response 20:54:36.116873 special request received, no persistency 20:54:36.116883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind163 ==114695== ==114695== Process terminating with default action of signal 4 (SIGILL) ==114695== Illegal opcode at address 0x4003082 ==114695== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114695== by 0x4003082: main (tool_main.c:243) === End of file valgrind163 test 0166...[HTTP formpost a file with spaces in 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/19/valgrind166 ../src/curl -q --output log/19/curl166.out --include --trace-ascii log/19/trace166 --trace-config all --trace-time http://127.0.0.1:46549/we/want/166 -F "name=@log/19/fie ld 166" > log/19/stdout166 2> log/19/stderr166 166: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind166 ../src/curl -q --output log/19/curl166.out --include --trace-ascii log/19/trace166 --trace-config all --trace-time http://127.0.0.1:46549/we/want/166 -F "name=@log/19/fie ld 166" > log/19/stdout166 2> log/19/stderr166 === End of file commands.log === Start of file fie ld 166 data inside the file === End of file fie ld 166 === Start of file http_server.log 20:54:36.123295 ====> Client connect 20:54:36.123321 accept_connection 3 returned 4 20:54:36.123336 accept_connection 3 returned 0 20:54:36.123348 Read 93 bytes 20:54:36.123357 Process 93 bytes request 20:54:36.123366 Got request: GET /verifiedserver HTTP/1.1 20:54:36.123375 Are-we-friendly question received 20:54:36.123396 Wrote request (93 bytes) input to log/19/server.input 20:54:36.123412 Identifying ourselves as friends 20:54:36.123463 Response sent (57 bytes) and written to log/19/server.response 20:54:36.123471 special request received, no persistency 20:54:36.123479 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind166 ==114705== ==114705== Process terminating with default action of signal 4 (SIGILL) ==114705== Illegal opcode at address 0x4003082 ==114705== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114705== by 0x4003082: main (tool_main.c:243) === End of file valgrind166 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/22/valgrind165 ../src/curl -q --output log/22/curl165.out --include --trace-ascii log/22/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:44239 http://www.große.de/page/165 > log/22/stdout165 2> log/22/stderr165 165: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 165 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind165 ../src/curl -q --output log/22/curl165.out --include --trace-ascii log/22/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:44239 http://www.große.de/page/165 > log/22/stdout165 2> log/22/stderr165 === End of file commands.log === 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/24/valgrind164 ../src/curl -q --output log/24/curl164.out --include --trace-ascii log/24/trace164 --trace-config all --trace-time http://127.0.0.1:45957/want/164 -r 0-10,12-15 > log/24/stdout164 2> log/24/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/7/valgrind167 ../src/curl -q --output log/7/curl167.out --include --trace-ascii log/7/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:39141 --proxy-user foo:bar --digest --user digest:alot > log/7/stdout167 2> log/7/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/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:43831 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/10/stdout169 2> log/10/stderr169 20:54:36.124270 ====> Client connect 20:54:36.124301 accept_connection 3 returned 4 20:54:36.124318 accept_connection 3 returned 0 20:54:36.124330 Read 93 bytes 20:54:36.124340 Process 93 bytes request 20:54:36.124350 Got request: GET /verifiedserver HTTP/1.1 20:54:36.124359 Are-we-friendly question received 20:54:36.124381 Wrote request (93 bytes) input to log/22/server.input 20:54:36.124395 Identifying ourselves as friends 20:54:36.124443 Response sent (57 bytes) and written to log/22/server.response 20:54:36.124452 special request received, no persistency 20:54:36.124460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind165 ==114697== ==114697== Process terminating with default action of signal 4 (SIGILL) ==114697== Illegal opcode at address 0x4003082 ==114697== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114697== by 0x4003082: main (tool_main.c:243) === 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/7/valgrind167 ../src/curl -q --output log/7/curl167.out --include --trace-ascii log/7/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:39141 --proxy-user foo:bar --digest --user digest:alot > log/7/stdout167 2> log/7/stderr167 167: 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 167 === Start of file commands.log ../libtool --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/valgrind167 ../src/curl -q --output log/7/curl167.out --include --trace-ascii log/7/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:39141 --proxy-user foo:bar --digest --user digest:alot > log/7/stdout167 2> log/7/stderr167 === End of file commands.log === Start of file http_server.log 20:54:36.122389 ====> Client connect 20:54:36.122415 accept_connection 3 returned 4 20:54:36.122430 accept_connection 3 returned 0 20:54:36.122442 Read 93 bytes 20:54:36.122451 Process 93 bytes request 20:54:36.122461 Got request: GET /verifiedserver HTTP/1.1 20:54:36.122469 Are-we-friendly question received 20:54:36.122493 Wrote request (93 bytes) input to log/7/server.input 20:54:36.122508 Identifying ourselves as friends 20:54:36.122554 Response sent (57 bytes) and written to log/7/server.response 20:54:36.122563 special request received, no persistency 20:54:36.122571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind167 ==114698== ==114698== Process terminating with default action of signal 4 (SIGILL) ==114698== Illegal opcode at address 0x4003082 ==114698== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114698== by 0x4003082: main (tool_main.c:243) === End of file valgrind167 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/24/valgrind164 ../src/curl -q --output log/24/curl164.out --include --trace-ascii log/24/trace164 --trace-config all --trace-time http://127.0.0.1:45957/want/164 -r 0-10,12-15 > log/24/stdout164 2> log/24/stderr164 164: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 164 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind164 ../src/curl -q --output log/24/curl164.out --include --trace-ascii log/24/trace164 --trace-config all --trace-time http://127.0.0.1:45957/want/164 -r 0-10,12-15 > log/24/stdout164 2> log/24/stderr164 === End of file commands.log === Start of file http_server.log 20:54:36.120555 ====> Client connect 20:54:36.120586 accept_connection 3 returned 4 20:54:36.120602 accept_connection 3 returned 0 20:54:36.120716 Read 93 bytes 20:54:36.120727 Process 93 bytes request 20:54:36.120739 Got request: GET /verifiedserver HTTP/1.1 20:54:36.120747 Are-we-friendly question received 20:54:36.120769 Wrote request (93 bytes) input to log/24/server.input 20:54:36.120784 Identifying ourselves as friends 20:54:36.120840 Response sent (57 bytes) and written to log/24/server.response 20:54:36.120849 special request received, no persistency 20:54:36.120859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind164 ==114692== ==114692== Process terminating with default action of signal 4 (SIGILL) ==114692== Illegal opcode at address 0x4003082 ==114692== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114692== by 0x4003082: main (tool_main.c:243) === End of file valgrind164 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:43831 --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 commands.log ../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/16/valgrind168 ../src/curl -q --output log/16/curl168.out --include --trace-ascii log/16/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:33409 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/16/stdout168 2> log/16/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/6/valgrind171 ../src/curl -q --output log/6/curl171.out --include --trace-ascii log/6/trace171 --trace-config all --trace-time -c log/6/jar171 -x 127.0.0.1:38475 http://z.x.com/171 > log/6/stdout171 2> log/6/stderr171 CMD (33792): ../libtool --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/valgrind170 ../src/curl -q --output log/2/curl170.out --include --trace-ascii log/2/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43815 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/2/stdout170 2> log/2/stderr170 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:43831 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/10/stdout169 2> log/10/stderr169 === End of file commands.log === Start of file http_server.log 20:54:36.214062 ====> Client connect 20:54:36.214091 accept_connection 3 returned 4 20:54:36.214108 accept_connection 3 returned 0 20:54:36.214120 Read 93 bytes 20:54:36.214133 Process 93 bytes request 20:54:36.214146 Got request: GET /verifiedserver HTTP/1.1 20:54:36.214155 Are-we-friendly question received 20:54:36.214177 Wrote request (93 bytes) input to log/10/server.input 20:54:36.214194 Identifying ourselves as friends 20:54:36.214266 Response sent (57 bytes) and written to log/10/server.response 20:54:36.214276 special request received, no persistency 20:54:36.214285 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind169 ==114993== ==114993== Process terminating with default action of signal 4 (SIGILL) ==114993== Illegal opcode at address 0x4003082 ==114993== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114993== by 0x4003082: main (tool_main.c:243) === End of file valgrind169 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/16/valgrind168 ../src/curl -q --output log/16/curl168.out --include --trace-ascii log/16/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:33409 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/16/stdout168 2> log/16/stderr168 168: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind168 ../src/curl -q --output log/16/curl168.out --include --trace-ascii log/16/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:33409 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/16/stdout168 2> log/16/stderr168 === End of file commands.log === Start of file http_server.log 20:54:36.210778 ====> Client connect 20:54:36.210810 accept_connection 3 returned 4 20:54:36.210827 accept_connection 3 returned 0 20:54:36.210840 Read 93 bytes 20:54:36.210852 Process 93 bytes request 20:54:36.210864 Got request: GET /verifiedserver HTTP/1.1 20:54:36.210873 Are-we-friendly question received 20:54:36.210893 Wrote request (93 bytes) input to log/16/server.input 20:54:36.210912 Identifying ourselves as friends 20:54:36.210966 Response sent (57 bytes) and written to log/16/server.response 20:54:36.210975 special request received, no persistency 20:54:36.210983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind168 ==114977== ==114977== Process terminating with default action of signal 4 (SIGILL) ==114977== Illegal opcode at address 0x4003082 ==114977== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==114977== by 0x4003082: main (tool_main.c:243) === End of file valgrind168 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/2/valgrind170 ../src/curl -q --output log/2/curl170.out --include --trace-ascii log/2/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43815 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/2/stdout170 2> log/2/stderr170 170: 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 170 === Start of file commands.log ../libtool --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/valgrind170 ../src/curl -q --output log/2/curl170.out --include --trace-ascii log/2/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43815 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/2/stdout170 2> log/2/stderr170 === End of file commands.log === Start of file http_server.log 20:54:36.245665 ====> Client connect 20:54:36.245695 accept_connection 3 returned 4 20:54:36.245712 accept_connection 3 returned 0 20:54:36.245726 Read 93 bytes 20:54:36.245735 Process 93 bytes request 20:54:36.245752 Got request: GET /verifiedserver HTTP/1.1 20:54:36.245761 Are-we-friendly question received 20:54:36.245783 Wrote request (93 bytes) input to log/2/server.input 20:54:36.245801 Identifying ourselves as friends 20:54:36.245856 Response sent (57 bytes) and written to log/2/server.response 20:54:36.245866 special request received, no persistency 20:54:36.245875 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind170 ==115040== ==115040== Process terminating with default action of signal 4 (SIGILL) ==115040== Illegal opcode at address 0x4003082 ==115040== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115040== by 0x4003082: main (tool_main.c:243) === End of file valgrind170 test 0171...[HTTP, get cookie with dot prefixed full domain] ../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/13/valgrind172 ../src/curl -q --output log/13/curl172.out --include --trace-ascii log/13/trace172 --trace-config all --trace-time http://127.0.0.1:44987/we/want/172 -b log/13/jar172.txt -b "tool=curl; name=fool" > log/13/stdout172 2> log/13/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/11/valgrind174 ../src/curl -q --output log/11/curl174.out --include --trace-ascii log/11/trace174 --trace-config all --trace-time http://127.0.0.1:44265/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/11/stdout174 2> log/11/stderr174 --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind171 ../src/curl -q --output log/6/curl171.out --include --trace-ascii log/6/trace171 --trace-config all --trace-time -c log/6/jar171 -x 127.0.0.1:38475 http://z.x.com/171 > log/6/stdout171 2> log/6/stderr171 171: 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 171 === Start of file commands.log ../libtool --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/valgrind171 ../src/curl -q --output log/6/curl171.out --include --trace-ascii log/6/trace171 --trace-config all --trace-time -c log/6/jar171 -x 127.0.0.1:38475 http://z.x.com/171 > log/6/stdout171 2> log/6/stderr171 === End of file commands.log === Start of file http_server.log 20:54:36.286060 ====> Client connect 20:54:36.286090 accept_connection 3 returned 4 20:54:36.286107 accept_connection 3 returned 0 20:54:36.286121 Read 93 bytes 20:54:36.286130 Process 93 bytes request 20:54:36.286146 Got request: GET /verifiedserver HTTP/1.1 20:54:36.286155 Are-we-friendly question received 20:54:36.286177 Wrote request (93 bytes) input to log/6/server.input 20:54:36.286193 Identifying ourselves as friends 20:54:36.286248 Response sent (57 bytes) and written to log/6/server.response 20:54:36.286258 special request received, no persistency 20:54:36.286267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind171 ==115154== ==115154== Process terminating with default action of signal 4 (SIGILL) ==115154== Illegal opcode at address 0x4003082 ==115154== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115154== by 0x4003082: main (tool_main.c:243) === End of file valgrind171 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/13/valgrind172 ../src/curl -q --output log/13/curl172.out --include --trace-ascii log/13/trace172 --trace-config all --trace-time http://127.0.0.1:44987/we/want/172 -b log/13/jar172.txt -b "tool=curl; name=fool" > log/13/stdout172 2> log/13/stderr172 172: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind172 ../src/curl -q --output log/13/curl172.out --include --trace-ascii log/13/trace172 --trace-config all --trace-time http://127.0.0.1:44987/we/want/172 -b log/13/jar172.txt -b "tool=curl; name=fool" > log/13/stdout172 2> log/13/stderr172 === End of file commands.log === Start of file http_server.log 20:54:36.310957 ====> Client connect 20:54:36.310986 accept_connection 3 returned 4 20:54:36.311003 accept_connection 3 returned 0 20:54:36.311018 Read 93 bytes 20:54:36.311027 Process 93 bytes request 20:54:36.311039 Got request: GET /verifiedserver HTTP/1.1 20:54:36.311049 Are-we-friendly question received 20:54:36.311075 Wrote request (93 bytes) input to log/13/server.input 20:54:36.311093 Identifying ourselves as friends 20:54:36.311157 Response sent (57 bytes) and written to log/13/server.response 20:54:36.311168 special request received, no persistency 20:54:36.311177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file valgrind172 ==115203== ==115203== Process terminating with default action of signal 4 (SIGILL) ==115203== Illegal opcode at address 0x4003082 ==115203== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115203== by 0x4003082: main (tool_main.c:243) === End of file valgrind172 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/11/valgrind174 ../src/curl -q --output log/11/curl174.out --include --trace-ascii log/11/trace174 --trace-config all --trace-time http://127.0.0.1:44265/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/11/stdout174 2> log/11/stderr174 174: 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 174 === Start of file commands.log ../libtool --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/valgrind174 ../src/curl -q --output log/11/curl174.out --include --trace-ascii log/11/trace174 --trace-config all --trace-time http://127.0.0.1:44265/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/11/stdout174 2> log/11/stderr174 === End of file commands.log === Start of file http_server.log 20:54:36.427024 ====> Client connect 20:54:36.427050 accept_connection 3 returned 4 20:54:36.427063 accept_connection 3 returned 0 20:54:36.427074 Read 93 bytes 20:54:36.427082 Process 93 bytes request 20:54:36.427091 Got request: GET /verifiedserver HTTP/1.1 20:54:36.427099 Are-we-friendly question received 20:54:36.427116 Wrote request (93 bytes) input to log/11/server.input 20:54:36.427128 Identifying ourselves as friends 20:54:36.427177 Response sent (57 bytes) and written to log/11/server.response 20:54:36.427188 special request received, no persistency 20:54:36.427197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === End of file http_verify.out === 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/15/valgrind173 ../src/curl -q --output log/15/curl173.out --include --trace-ascii log/15/trace173 --trace-config all --trace-time http://127.0.0.1:39051/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/15/stdout173 2> log/15/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/4/valgrind176 ../src/curl -q --output log/4/curl176.out --include --trace-ascii log/4/trace176 --trace-config all --trace-time http://127.0.0.1:35779/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/4/stdout176 2> log/4/stderr176 CMD (33792): ../libtool --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/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-config all --trace-time http://127.0.0.1:33171/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 Testnum 174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind174 ==115315== ==115315== Process terminating with default action of signal 4 (SIGILL) ==115315== Illegal opcode at address 0x4003082 ==115315== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115315== by 0x4003082: main (tool_main.c:243) === End of file valgrind174 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/15/valgrind173 ../src/curl -q --output log/15/curl173.out --include --trace-ascii log/15/trace173 --trace-config all --trace-time http://127.0.0.1:39051/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/15/stdout173 2> log/15/stderr173 173: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 173 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind173 ../src/curl -q --output log/15/curl173.out --include --trace-ascii log/15/trace173 --trace-config all --trace-time http://127.0.0.1:39051/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/15/stdout173 2> log/15/stderr173 === End of file commands.log === Start of file http_server.log 20:54:36.417090 ====> Client connect 20:54:36.417121 accept_connection 3 returned 4 20:54:36.417138 accept_connection 3 returned 0 20:54:36.417152 Read 93 bytes 20:54:36.417162 Process 93 bytes request 20:54:36.417176 Got request: GET /verifiedserver HTTP/1.1 20:54:36.417185 Are-we-friendly question received 20:54:36.417208 Wrote request (93 bytes) input to log/15/server.input 20:54:36.417224 Identifying ourselves as friends 20:54:36.417272 Response sent (57 bytes) and written to log/15/server.response 20:54:36.417282 special request received, no persistency 20:54:36.417291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === 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 ==115311== ==115311== Process terminating with default action of signal 4 (SIGILL) ==115311== Illegal opcode at address 0x4003082 ==115311== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115311== by 0x4003082: main (tool_main.c:243) === End of file valgrind173 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/4/valgrind176 ../src/curl -q --output log/4/curl176.out --include --trace-ascii log/4/trace176 --trace-config all --trace-time http://127.0.0.1:35779/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/4/stdout176 2> log/4/stderr176 176: 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 176 === Start of file commands.log ../libtool --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/valgrind176 ../src/curl -q --output log/4/curl176.out --include --trace-ascii log/4/trace176 --trace-config all --trace-time http://127.0.0.1:35779/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/4/stdout176 2> log/4/stderr176 === End of file commands.log === Start of file http_server.log 20:54:36.462120 ====> Client connect 20:54:36.462160 accept_connection 3 returned 4 20:54:36.462179 accept_connection 3 returned 0 20:54:36.462195 Read 93 bytes 20:54:36.462206 Process 93 bytes request 20:54:36.462220 Got request: GET /verifiedserver HTTP/1.1 20:54:36.462230 Are-we-friendly question received 20:54:36.462261 Wrote request (93 bytes) input to log/4/server.input 20:54:36.462278 Identifying ourselves as friends 20:54:36.462356 Response sent (57 bytes) and written to log/4/server.response 20:54:36.462367 special request received, no persistency 20:54:36.462377 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind176 ==115438== ==115438== Process terminating with default action of signal 4 (SIGILL) ==115438== Illegal opcode at address 0x4003082 ==115438== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115438== by 0x4003082: main (tool_main.c:243) === End of file valgrind176 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/3/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-config all --trace-time http://127.0.0.1:33171/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 175: 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 175 === Start of file commands.log ../libtool --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/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-config all --trace-time http://127.0.0.1:33171/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 === End of file commands.log === Start of file http_server.log 20:54:36.462175 ====> Client connect 20:54:36.462210 accept_connection 3 returned 4 20:54:36.462227 accept_connection 3 returned 0 20:54:36.462241 Read 93 bytes 20:54:36.462251 Process 93 bytes request 20:54:36.462263 Got request: GET /verifiedserver HTTP/1.1 20:54:36.462272 Are-we-friendly question received 20:54:36.462301 Wrote request (93 bytes) input to log/3/server.input 20:54:36.462316 Identifying ourselves as friends 20:54:36.462373 Response sent (57 bytes) and written to log/3/server.response 20:54:36.462382 special request received, no persistency 20:54:36.462389 ====> Client disconnect 0 === 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/17/valgrind177 ../src/curl -q --output log/17/curl177.out --include --trace-ascii log/17/trace177 --trace-config all --trace-time http://127.0.0.1:35207/177 -u auser:apasswd --digest -d "junkelijunk" > log/17/stdout177 2> log/17/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/5/valgrind182 ../src/curl -q --output log/5/curl182.out --include --trace-ascii log/5/trace182 --trace-config all --trace-time ftp://127.0.0.1:45115/182 > log/5/stdout182 2> log/5/stderr182 e http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind175 ==115437== ==115437== Process terminating with default action of signal 4 (SIGILL) ==115437== Illegal opcode at address 0x4003082 ==115437== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115437== by 0x4003082: main (tool_main.c:243) === End of file valgrind175 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/17/valgrind177 ../src/curl -q --output log/17/curl177.out --include --trace-ascii log/17/trace177 --trace-config all --trace-time http://127.0.0.1:35207/177 -u auser:apasswd --digest -d "junkelijunk" > log/17/stdout177 2> log/17/stderr177 177: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 177 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind177 ../src/curl -q --output log/17/curl177.out --include --trace-ascii log/17/trace177 --trace-config all --trace-time http://127.0.0.1:35207/177 -u auser:apasswd --digest -d "junkelijunk" > log/17/stdout177 2> log/17/stderr177 === End of file commands.log === Start of file http_server.log 20:54:36.502201 ====> Client connect 20:54:36.502233 accept_connection 3 returned 4 20:54:36.502249 accept_connection 3 returned 0 20:54:36.502263 Read 93 bytes 20:54:36.502272 Process 93 bytes request 20:54:36.502284 Got request: GET /verifiedserver HTTP/1.1 20:54:36.502293 Are-we-friendly question received 20:54:36.502316 Wrote request (93 bytes) input to log/17/server.input 20:54:36.502331 Identifying ourselves as friends 20:54:36.502382 Response sent (57 bytes) and written to log/17/server.response 20:54:36.502391 special request received, no persistency 20:54:36.502400 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind177 ==115552== ==115552== Process terminating with default action of signal 4 (SIGILL) ==115552== Illegal opcode at address 0x4003082 ==115552== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115552== by 0x4003082: main (tool_main.c:243) === End of file valgrind177 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/5/valgrind182 ../src/curl -q --output log/5/curl182.out --include --trace-ascii log/5/trace182 --trace-config all --trace-time ftp://127.0.0.1:45115/182 > log/5/stdout182 2> log/5/stderr182 182: 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 182 === Start of file commands.log ../libtool --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/valgrind182 ../src/curl -q --output log/5/curl182.out --include --trace-ascii log/5/trace182 --trace-config all --trace-time ftp://127.0.0.1:45115/182 > log/5/stdout182 2> log/5/stderr182 === End of file commands.log === Start of file ftp_server.log 20:54:36.332923 ====> Client connect 20:54:36.333079 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:36.333340 < "USER anonymous" 20:54:36.333370 > "331 We are happy you popped in![CR][LF]" 20:54:36.333527 < "PASS ftp@example.com" 20:54:36.333552 > "230 Welcome you silly person[CR][LF]" 20:54:36.333694 < "PWD" 20:54:36.333722 > "257 "/" is current directory[CR][LF]" 20:54:36.333873 < "EPSV" 20:54:36.333895 ====> Passive DATA channel requested by client 20:54:36.333907 DATA sockfilt for passive data channel starting... 20:54:36.335503 DATA sockfilt for passive data channel started (pid 115701) 20:54:36.335599 DATA sockfilt for passive data channel listens on port 41371 20:54:36.335633 > "229 Entering Passive Mode (|||41371|)[LF]" 20:54:36.335650 Client has been notified that DATA conn will be accepted on port 41371 20:54:36.335849 Client connects to port 41371 20:54:36.335874 ====> Client established passive DATA connection on port 41371 20:54:36.335933 < "TYPE I" 20:54:36.335955 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:36.336094 < "SIZE verifiedserver" 20:54:36.336127 > "213 18[CR][LF]" 20:54:36.336264 < "RETR verifiedserver" 20:54:36.336295 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:36.336360 =====> Closing passive DATA connection... 20:54:36.336373 Server disconnects passive DATA connection 20:54:36.336575 Server disconnected passive DATA connection 20:54:36.336602 DATA sockfilt for passive data channel quits (pid 115701) 20:54:36.336804 DATA sockfilt for passive data channel quit (pid 115701) 20:54:36.336825 =====> Closed passive DATA connection 20:54:36.336849 > "226 File transfer complete[CR][LF]" 20:54:36.382554 < "QUIT" 20:54:36.382605 > "221 bye bye baby[CR][LF]" 20:54:36.383048 MAIN sockfilt said DISC 20:54:36.383105 ====> Client disconnected 20:54:36.383166 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:36.554333 ====> Client connect 20:54:36.554606 Received DATA (on stdin) 20:54:36.554622 > 160 bytes data, server => client 20:54:36.554634 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:36.554645 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:36.554655 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:36.554722 < 16 bytes data, client => server 20:54:36.554735 'USER anonymous\r\n' 20:54:36.554887 Received DATA (on stdin) 20:54:36.554899 > 33 bytes data, server => client 20:54:36.554910 '331 We are happy you popped in!\r\n' 20:54:36.554957 < 22 bytes data, client => server 20:54:36.554969 'PASS ftp@example.com\r\n' 20:54:36.555065 Received DATA (on stdin) 20:54:36.555076 > 30 bytes data, server => client 20:54:36.555087 '230 Welcome you silly person\r\n' 20:54:36.555129 < 5 bytes data, client => server 20:54:36.555140 'PWD\r\n' 20:54:36.555234 Received DATA (on stdin) 20:54:36.555247 > 30 bytes data, server => client 20:54:36.555258 '257 "/" is current directory\r\n' 20:54:36.555311 < 6 bytes data, client => server 20:54:36.555322 'EPSV\r\n' 20:54:36.557168 Received DATA (on stdin) 20:54:36.557180 > 38 bytes data, 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/23/valgrind180 ../src/curl -q --output log/23/curl180.out --include --trace-ascii log/23/trace180 --trace-config all --trace-time http://127.0.0.1:38539/we/want/180 -T log/23/test180.txt --http1.0 > log/23/stdout180 2> log/23/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/9/valgrind179 ../src/curl -q --output log/9/curl179.out --include --trace-ascii log/9/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/9/injar179 -x 127.0.0.1:46863 > log/9/stdout179 2> log/9/stderr179 rver => client 20:54:36.557190 '229 Entering Passive Mode (|||41371|)\n' 20:54:36.557316 < 8 bytes data, client => server 20:54:36.557326 'TYPE I\r\n' 20:54:36.557469 Received DATA (on stdin) 20:54:36.557480 > 33 bytes data, server => client 20:54:36.557489 '200 I modify TYPE as you wanted\r\n' 20:54:36.557532 < 21 bytes data, client => server 20:54:36.557542 'SIZE verifiedserver\r\n' 20:54:36.557640 Received DATA (on stdin) 20:54:36.557651 > 8 bytes data, server => client 20:54:36.557660 '213 18\r\n' 20:54:36.557703 < 21 bytes data, client => server 20:54:36.557713 'RETR verifiedserver\r\n' 20:54:36.557886 Received DATA (on stdin) 20:54:36.557897 > 29 bytes data, server => client 20:54:36.557907 '150 Binary junk (18 bytes).\r\n' 20:54:36.558363 Received DATA (on stdin) 20:54:36.558376 > 28 bytes data, server => client 20:54:36.558386 '226 File transfer complete\r\n' 20:54:36.603874 < 6 bytes data, client => server 20:54:36.603897 'QUIT\r\n' 20:54:36.604125 Received DATA (on stdin) 20:54:36.604137 > 18 bytes data, server => client 20:54:36.604147 '221 bye bye baby\r\n' 20:54:36.604492 ====> Client disconnect 20:54:36.604685 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:36.556793 Running IPv4 version 20:54:36.556840 Listening on port 41371 20:54:36.556948 Wrote pid 115701 to log/5/server/ftp_sockdata.pid 20:54:36.556966 Received PING (on stdin) 20:54:36.557039 Received PORT (on stdin) 20:54:36.557290 ====> Client connect 20:54:36.557931 Received DATA (on stdin) 20:54:36.557943 > 18 bytes data, server => client 20:54:36.557952 'WE ROOLZ: 110701\r\n' 20:54:36.557974 Received DISC (on stdin) 20:54:36.557985 ====> Client forcibly disconnected 20:54:36.558124 Received QUIT (on stdin) 20:54:36.558135 quits 20:54:36.558185 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==116076== ==116076== Process terminating with default action of signal 4 (SIGILL) ==116076== Illegal opcode at address 0x4003082 ==116076== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116076== by 0x4003082: main (tool_main.c:243) === End of file valgrind182 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/23/valgrind180 ../src/curl -q --output log/23/curl180.out --include --trace-ascii log/23/trace180 --trace-config all --trace-time http://127.0.0.1:38539/we/want/180 -T log/23/test180.txt --http1.0 > log/23/stdout180 2> log/23/stderr180 180: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind180 ../src/curl -q --output log/23/curl180.out --include --trace-ascii log/23/trace180 --trace-config all --trace-time http://127.0.0.1:38539/we/want/180 -T log/23/test180.txt --http1.0 > log/23/stdout180 2> log/23/stderr180 === End of file commands.log === Start of file http_server.log 20:54:36.545829 ====> Client connect 20:54:36.545859 accept_connection 3 returned 4 20:54:36.545875 accept_connection 3 returned 0 20:54:36.545889 Read 93 bytes 20:54:36.545898 Process 93 bytes request 20:54:36.545911 Got request: GET /verifiedserver HTTP/1.1 20:54:36.545920 Are-we-friendly question received 20:54:36.545943 Wrote request (93 bytes) input to log/23/server.input 20:54:36.545958 Identifying ourselves as friends 20:54:36.546008 Response sent (57 bytes) and written to log/23/server.response 20:54:36.546018 special request received, no persistency 20:54:36.546026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === 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 ==115728== ==115728== Process terminating with default action of signal 4 (SIGILL) ==115728== Illegal opcode at address 0x4003082 ==115728== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115728== by 0x4003082: main (tool_main.c:243) === End of file valgrind180 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/9/valgrind179 ../src/curl -q --output log/9/curl179.out --include --trace-ascii log/9/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/9/injar179 -x 127.0.0.1:46863 > log/9/stdout179 2> log/9/stderr179 179: 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 179 === Start of file commands.log ../libtool --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/valgrind179 ../src/curl -q --output log/9/curl179.out --include --trace-ascii log/9/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/9/injar179 -x 127.0.0.1:46863 > log/9/stdout179 2> log/9/stderr179 === End of file commands.log === Start of file http_server.log 20:54:36.541170 ====> Client connect 20:54:36.541206 accept_connection 3 returned 4 20:54:36.541225 accept_connection 3 returned 0 20:54:36.541240 Read 93 bytes 20:54:36.541251 Process 93 bytes request 20:54:36.541263 Got request: GET /verifiedserver HTTP/1.1 20:54:36.541273 Are-we-friendly question received 20:54:36.541297 Wrote request (93 bytes) input to log/9/server.input 20:54:36.541315 Identifying ourselves as friends 20:54:36.541369 Response sent (57 bytes) and written to log/9/server.response 20:54:36.541381 special request received, no persistency 20:54:36.541390 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind179 ==115691== ==115691== Process terminating with default action of signal 4 (SIGILL) ==115691== Illegal opcode at address 0x4003082 ==115691== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115691== by 0x4003082: 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/18/valgrind181 ../src/curl -q --output log/18/curl181.out --include --trace-ascii log/18/trace181 --trace-config all --trace-time http://127.0.0.1:34637/we/want/181 --data-binary @log/18/test181.txt --http1.0 > log/18/stdout181 2> log/18/stderr181 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind178 ../src/curl -q --output log/20/curl178.out --include --trace-ascii log/20/trace178 --trace-config all --trace-time http://127.0.0.1:41293/178 > log/20/stdout178 2> log/20/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/8/valgrind185 ../src/curl -q --output log/8/curl185.out --include --trace-ascii log/8/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:35791 > log/8/stdout185 2> log/8/stderr185 :243) === 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/18/valgrind181 ../src/curl -q --output log/18/curl181.out --include --trace-ascii log/18/trace181 --trace-config all --trace-time http://127.0.0.1:34637/we/want/181 --data-binary @log/18/test181.txt --http1.0 > log/18/stdout181 2> log/18/stderr181 181: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind181 ../src/curl -q --output log/18/curl181.out --include --trace-ascii log/18/trace181 --trace-config all --trace-time http://127.0.0.1:34637/we/want/181 --data-binary @log/18/test181.txt --http1.0 > log/18/stdout181 2> log/18/stderr181 === End of file commands.log === Start of file http_server.log 20:54:36.546325 ====> Client connect 20:54:36.546356 accept_connection 3 returned 4 20:54:36.546372 accept_connection 3 returned 0 20:54:36.546386 Read 93 bytes 20:54:36.546395 Process 93 bytes request 20:54:36.546407 Got request: GET /verifiedserver HTTP/1.1 20:54:36.546416 Are-we-friendly question received 20:54:36.546439 Wrote request (93 bytes) input to log/18/server.input 20:54:36.546456 Identifying ourselves as friends 20:54:36.546515 Response sent (57 bytes) and written to log/18/server.response 20:54:36.546524 special request received, no persistency 20:54:36.546533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === 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 ==115731== ==115731== Process terminating with default action of signal 4 (SIGILL) ==115731== Illegal opcode at address 0x4003082 ==115731== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115731== by 0x4003082: main (tool_main.c:243) === End of file valgrind181 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/20/valgrind178 ../src/curl -q --output log/20/curl178.out --include --trace-ascii log/20/trace178 --trace-config all --trace-time http://127.0.0.1:41293/178 > log/20/stdout178 2> log/20/stderr178 178: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind178 ../src/curl -q --output log/20/curl178.out --include --trace-ascii log/20/trace178 --trace-config all --trace-time http://127.0.0.1:41293/178 > log/20/stdout178 2> log/20/stderr178 === End of file commands.log === Start of file http_server.log 20:54:36.534004 ====> Client connect 20:54:36.534034 accept_connection 3 returned 4 20:54:36.534051 accept_connection 3 returned 0 20:54:36.534064 Read 93 bytes 20:54:36.534073 Process 93 bytes request 20:54:36.534085 Got request: GET /verifiedserver HTTP/1.1 20:54:36.534095 Are-we-friendly question received 20:54:36.534116 Wrote request (93 bytes) input to log/20/server.input 20:54:36.534132 Identifying ourselves as friends 20:54:36.534189 Response sent (57 bytes) and written to log/20/server.response 20:54:36.534199 special request received, no persistency 20:54:36.534208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind178 ==115697== ==115697== Process terminating with default action of signal 4 (SIGILL) ==115697== Illegal opcode at address 0x4003082 ==115697== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115697== by 0x4003082: main (tool_main.c:243) === End of file valgrind178 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/8/valgrind185 ../src/curl -q --output log/8/curl185.out --include --trace-ascii log/8/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:35791 > log/8/stdout185 2> log/8/stderr185 185: 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 185 === Start of file commands.log ../libtool --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/valgrind185 ../src/curl -q --output log/8/curl185.out --include --trace-ascii log/8/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:35791 > log/8/stdout185 2> log/8/stderr185 === End of file commands.log === Start of file http_server.log 20:54:36.574761 ====> Client connect 20:54:36.574793 accept_connection 3 returned 4 20:54:36.574810 accept_connection 3 returned 0 20:54:36.574825 Read 93 bytes 20:54:36.574835 Process 93 bytes request 20:54:36.574847 Got request: GET /verifiedserver HTTP/1.1 20:54:36.574856 Are-we-friendly question received 20:54:36.574881 Wrote request (93 bytes) input to log/8/server.input 20:54:36.574897 Identifying ourselves as friends 20:54:36.574952 Response sent (57 bytes) and written to log/8/server.response 20:54:36.574963 special request received, no persistency 20:54:36.574972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === End of file http_verify.out === Start of file server.cmd Testnum 185 === End CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind183 ../src/curl -q --output log/21/curl183.out --include --trace-ascii log/21/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:36793 > log/21/stdout183 2> log/21/stderr183 CMD (33792): ../libtool --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/valgrind186 ../src/curl -q --output log/1/curl186.out --include --trace-ascii log/1/trace186 --trace-config all --trace-time http://127.0.0.1:42503/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/1/stdout186 2> log/1/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/14/valgrind184 ../src/curl -q --output log/14/curl184.out --include --trace-ascii log/14/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:35661 > log/14/stdout184 2> log/14/stderr184 of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind185 ==115891== ==115891== Process terminating with default action of signal 4 (SIGILL) ==115891== Illegal opcode at address 0x4003082 ==115891== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115891== by 0x4003082: main (tool_main.c:243) === 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/21/valgrind183 ../src/curl -q --output log/21/curl183.out --include --trace-ascii log/21/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:36793 > log/21/stdout183 2> log/21/stderr183 183: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind183 ../src/curl -q --output log/21/curl183.out --include --trace-ascii log/21/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:36793 > log/21/stdout183 2> log/21/stderr183 === End of file commands.log === Start of file http_server.log 20:54:36.563782 ====> Client connect 20:54:36.563808 accept_connection 3 returned 4 20:54:36.563824 accept_connection 3 returned 0 20:54:36.563837 Read 93 bytes 20:54:36.563847 Process 93 bytes request 20:54:36.563860 Got request: GET /verifiedserver HTTP/1.1 20:54:36.563868 Are-we-friendly question received 20:54:36.563884 Wrote request (93 bytes) input to log/21/server.input 20:54:36.563896 Identifying ourselves as friends 20:54:36.563935 Response sent (57 bytes) and written to log/21/server.response 20:54:36.563943 special request received, no persistency 20:54:36.563949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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 Content-Length: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind183 ==115823== ==115823== Process terminating with default action of signal 4 (SIGILL) ==115823== Illegal opcode at address 0x4003082 ==115823== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115823== by 0x4003082: main (tool_main.c:243) === End of file valgrind183 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/1/valgrind186 ../src/curl -q --output log/1/curl186.out --include --trace-ascii log/1/trace186 --trace-config all --trace-time http://127.0.0.1:42503/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/1/stdout186 2> log/1/stderr186 186: 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 186 === Start of file commands.log ../libtool --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/valgrind186 ../src/curl -q --output log/1/curl186.out --include --trace-ascii log/1/trace186 --trace-config all --trace-time http://127.0.0.1:42503/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/1/stdout186 2> log/1/stderr186 === End of file commands.log === Start of file http_server.log 20:54:36.575146 ====> Client connect 20:54:36.575178 accept_connection 3 returned 4 20:54:36.575195 accept_connection 3 returned 0 20:54:36.575209 Read 93 bytes 20:54:36.575218 Process 93 bytes request 20:54:36.575230 Got request: GET /verifiedserver HTTP/1.1 20:54:36.575239 Are-we-friendly question received 20:54:36.575260 Wrote request (93 bytes) input to log/1/server.input 20:54:36.575276 Identifying ourselves as friends 20:54:36.575326 Response sent (57 bytes) and written to log/1/server.response 20:54:36.575336 special request received, no persistency 20:54:36.575345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind186 ==115900== ==115900== Process terminating with default action of signal 4 (SIGILL) ==115900== Illegal opcode at address 0x4003082 ==115900== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115900== by 0x4003082: main (tool_main.c:243) === End of file valgrind186 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/14/valgrind184 ../src/curl -q --output log/14/curl184.out --include --trace-ascii log/14/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:35661 > log/14/stdout184 2> log/14/stderr184 184: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 184 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind184 ../src/curl -q --output log/14/curl184.out --include --trace-ascii log/14/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:35661 > log/14/stdout184 2> log/14/stderr184 === End of file commands.log === Start of file http_server.log 20:54:36.576012 ====> Client connect 20:54:36.576048 accept_connection 3 returned 4 20:54:36.576064 accept_connection 3 returned 0 20:54:36.576075 Read 93 bytes 20:54:36.576084 Process 93 bytes request 20:54:36.576092 Got request: GET /verifiedserver HTTP/1.1 20:54:36.576100 Are-we-friendly question received 20:54:36.576119 Wrote request (93 bytes) input to log/14/server.input 20:54:36.576132 Identifying ourselves as friends 20:54:36.576180 Response sent (57 bytes) and written to log/14/server.response 20:54:36.576187 special request received, no persistency 20:54:36.576194 ====> Client disconnCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind189 ../src/curl -q --output log/22/curl189.out --include --trace-ascii log/22/trace189 --trace-config all --trace-time http://127.0.0.1:44239/189 -C 50 -L > log/22/stdout189 2> log/22/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/12/valgrind187 ../src/curl -q --output log/12/curl187.out --include --trace-ascii log/12/trace187 --trace-config all --trace-time http://127.0.0.1:33337?oh=what-weird=test/187 -L > log/12/stdout187 2> log/12/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/19/valgrind188 ../src/curl -q --output log/19/curl188.out --include --trace-ascii log/19/trace188 --trace-config all --trace-time http://127.0.0.1:46549/188 -C 50 -L > log/19/stdout188 2> log/19/stderr188 ect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind184 ==115906== ==115906== Process terminating with default action of signal 4 (SIGILL) ==115906== Illegal opcode at address 0x4003082 ==115906== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==115906== by 0x4003082: main (tool_main.c:243) === End of file valgrind184 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/22/valgrind189 ../src/curl -q --output log/22/curl189.out --include --trace-ascii log/22/trace189 --trace-config all --trace-time http://127.0.0.1:44239/189 -C 50 -L > log/22/stdout189 2> log/22/stderr189 189: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind189 ../src/curl -q --output log/22/curl189.out --include --trace-ascii log/22/trace189 --trace-config all --trace-time http://127.0.0.1:44239/189 -C 50 -L > log/22/stdout189 2> log/22/stderr189 === End of file commands.log === Start of file http_server.log 20:54:36.794723 ====> Client connect 20:54:36.794751 accept_connection 3 returned 4 20:54:36.794766 accept_connection 3 returned 0 20:54:36.794778 Read 93 bytes 20:54:36.794787 Process 93 bytes request 20:54:36.794797 Got request: GET /verifiedserver HTTP/1.1 20:54:36.794805 Are-we-friendly question received 20:54:36.794827 Wrote request (93 bytes) input to log/22/server.input 20:54:36.794842 Identifying ourselves as friends 20:54:36.794889 Response sent (57 bytes) and written to log/22/server.response 20:54:36.794898 special request received, no persistency 20:54:36.794906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind189 ==116295== ==116295== Process terminating with default action of signal 4 (SIGILL) ==116295== Illegal opcode at address 0x4003082 ==116295== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116295== by 0x4003082: main (tool_main.c:243) === 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/12/valgrind187 ../src/curl -q --output log/12/curl187.out --include --trace-ascii log/12/trace187 --trace-config all --trace-time http://127.0.0.1:33337?oh=what-weird=test/187 -L > log/12/stdout187 2> log/12/stderr187 187: 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 187 === Start of file commands.log ../libtool --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/valgrind187 ../src/curl -q --output log/12/curl187.out --include --trace-ascii log/12/trace187 --trace-config all --trace-time http://127.0.0.1:33337?oh=what-weird=test/187 -L > log/12/stdout187 2> log/12/stderr187 === End of file commands.log === Start of file http_server.log 20:54:36.785745 ====> Client connect 20:54:36.785776 accept_connection 3 returned 4 20:54:36.785794 accept_connection 3 returned 0 20:54:36.785808 Read 93 bytes 20:54:36.785818 Process 93 bytes request 20:54:36.785832 Got request: GET /verifiedserver HTTP/1.1 20:54:36.785841 Are-we-friendly question received 20:54:36.785861 Wrote request (93 bytes) input to log/12/server.input 20:54:36.785878 Identifying ourselves as friends 20:54:36.785935 Response sent (57 bytes) and written to log/12/server.response 20:54:36.785945 special request received, no persistency 20:54:36.785954 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind187 ==116287== ==116287== Process terminating with default action of signal 4 (SIGILL) ==116287== Illegal opcode at address 0x4003082 ==116287== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116287== by 0x4003082: main (tool_main.c:243) === End of file valgrind187 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/19/valgrind188 ../src/curl -q --output log/19/curl188.out --include --trace-ascii log/19/trace188 --trace-config all --trace-time http://127.0.0.1:46549/188 -C 50 -L > log/19/stdout188 2> log/19/stderr188 188: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 188 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind188 ../src/curl -q --output log/19/curl188.out --include --trace-ascii log/19/trace188 --trace-config all --trace-time http://127.0.0.1:46549/188 -C 50 -L > log/19/stdout188 2> log/19/stderr188 === End of file commands.log === Start of file http_server.log 20:54:36.792324 ====> Client connect 20:54:36.792354 accept_connection 3 returned 4 20:54:36.792370 accept_connection 3 returned 0 20:54:36.792383 Read 93 bytes 20:54:36.792393 Process 93 bytes request 20:54:36.792405 Got request: GET /verifiedserver HTTP/1.1 20:54:36.792414 Are-we-friendly question received 20:54:36.792437 Wrote request (93 bytes) input to log/19/server.input 20:54:36.792452 Identifying ourselves as friends 20:54:36.792502 Response sent (57 bytes) and written to 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/24/valgrind190 ../src/curl -q --output log/24/curl190.out --include --trace-ascii log/24/trace190 --trace-config all --trace-time ftp://127.0.0.1:34045/path/to/file/190 -m 10 > log/24/stdout190 2> log/24/stderr190 CMD (33792): ../libtool --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/valgrind191 ../src/curl -q --output log/7/curl191.out --include --trace-ascii log/7/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:40643/191" > log/7/stdout191 2> log/7/stderr191 * kill pid for ftp-ctrl => 110651 RUN: Process with pid 110632 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/16/valgrind193 ../src/curl -q --include --trace-ascii log/16/trace193 --trace-config all --trace-time http://127.0.0.1:33409/193 -w "%{num_connects}\n" -L > log/16/stdout193 2> log/16/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/10/valgrind192 ../src/curl -q --include --trace-ascii log/10/trace192 --trace-config all --trace-time http://127.0.0.1:43831/192 -w "%{num_connects}\n" > log/10/stdout192 2> log/10/stderr192 19/server.response 20:54:36.792512 special request received, no persistency 20:54:36.792520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind188 ==116296== ==116296== Process terminating with default action of signal 4 (SIGILL) ==116296== Illegal opcode at address 0x4003082 ==116296== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116296== by 0x4003082: main (tool_main.c:243) === End of file valgrind188 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/7/valgrind191 ../src/curl -q --output log/7/curl191.out --include --trace-ascii log/7/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:40643/191" > log/7/stdout191 2> log/7/stderr191 191: 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 191 === Start of file commands.log ../libtool --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/valgrind191 ../src/curl -q --output log/7/curl191.out --include --trace-ascii log/7/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:40643/191" > log/7/stdout191 2> log/7/stderr191 === End of file commands.log === Start of file ftp_server.log 20:54:36.580498 ====> Client connect 20:54:36.580668 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:36.580956 < "USER anonymous" 20:54:36.580987 > "331 We are happy you popped in![CR][LF]" 20:54:36.581140 < "PASS ftp@example.com" 20:54:36.581165 > "230 Welcome you silly person[CR][LF]" 20:54:36.581303 < "PWD" 20:54:36.581328 > "257 "/" is current directory[CR][LF]" 20:54:36.581471 < "EPSV" 20:54:36.581493 ====> Passive DATA channel requested by client 20:54:36.581506 DATA sockfilt for passive data channel starting... 20:54:36.583172 DATA sockfilt for passive data channel started (pid 116289) 20:54:36.583270 DATA sockfilt for passive data channel listens on port 41001 20:54:36.583305 > "229 Entering Passive Mode (|||41001|)[LF]" 20:54:36.583320 Client has been notified that DATA conn will be accepted on port 41001 20:54:36.583522 Client connects to port 41001 20:54:36.583551 ====> Client established passive DATA connection on port 41001 20:54:36.583614 < "TYPE I" 20:54:36.583642 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:36.583793 < "SIZE verifiedserver" 20:54:36.583829 > "213 18[CR][LF]" 20:54:36.584041 < "RETR verifiedserver" 20:54:36.584078 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:36.584143 =====> Closing passive DATA connection... 20:54:36.584159 Server disconnects passive DATA connection 20:54:36.584234 Server disconnected passive DATA connection 20:54:36.584278 DATA sockfilt for passive data channel quits (pid 116289) 20:54:36.584562 DATA sockfilt for passive data channel quit (pid 116289) 20:54:36.584590 =====> Closed passive DATA connection 20:54:36.584619 > "226 File transfer complete[CR][LF]" 20:54:36.629220 < "QUIT" 20:54:36.629268 > "221 bye bye baby[CR][LF]" 20:54:36.629876 MAIN sockfilt said DISC 20:54:36.629930 ====> Client disconnected 20:54:36.629991 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:36.801758 ====> Client connect 20:54:36.802198 Received DATA (on stdin) 20:54:36.802217 > 160 bytes data, server => client 20:54:36.802229 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:36.802242 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:36.802252 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:36.802337 < 16 bytes data, client => server 20:54:36.802350 'USER anonymous\r\n' 20:54:36.802503 Received DATA (on stdin) 20:54:36.802515 > 33 bytes data, server => client 20:54:36.802527 '331 We are happy you popped in!\r\n' 20:54:36.802572 < 22 bytes data, client => server 20:54:36.802583 'PASS ftp@example.com\r\n' 20:54:36.802678 Received DATA (on stdin) 20:54:36.802689 > 30 bytes data, server => client 20:54:36.802699 '230 Welcome you silly person\r\n' 20:54:36.802741 < 5 bytes data, client => server 20:54:36.802752 'PWD\r\n' 20:54:36.802839 Received DATA (on stdin) 20:54:36.802850 > 30 bytes data, server => client 20:54:36.802860 '257 "/" is current directory\r\n' 20:54:36.802911 < 6 bytes data, client => server 20:54:36.802923 'EPSV\r\n' 20:54:36.804837 Received DATA (on stdin) 20:54:36.804850 > 38 bytes data, server => client 20:54:36.804861 '229 Entering Passive Mode (|||41001|)\n' 20:54:36.804984 < 8 bytes data, client => server 20:54:36.804995 'TYPE I\r\n' 20:54:36.805155 Received DATA (on stdin) 20:54:36.805167 > 33 bytes data, server => client 20:54:36.805178 '200 I modify TYPE as you wanted\r\n' 20:54:36.805246 < 21 bytes data, client => server 20:54:36.805269 'SIZE verifiedserver\r\n' 20:54:36.805344 Received DATA (on stdin) 20:54:36.805358 > 8 bytes data, server => client 20:54:36.805367 '213 18\r\n' 20:54:36.805421 < 21 bytes data, client => server 20:54:36.805437 'RETR verifiedserver\r\n' 20:54:36.805682 Received DATA (on stdin) 20:54:36.805702 > 29 bytes data, server => client 20:54:36.805713 '150 Binary junk (18 bytes).\r\n' 20:54:36.806134 Received DATA (on stdin) 20:54:36.806150 > 28 bytes data, server => client 20:54:36.806161 '226 File transfer complete\r\n' 20:54:36.850520 < 6 bytes data, client => server 20:54:36.850545 'QUIT\r\n' 20:54:36.850942 Received DATA (on stdin) 20:54:36.850954 > 18 bytes data, server => client 20:54:36.850965 '221 bye bye baby\r\n' 20:54:36.851321 ====> Client disconnect 20:54:36.851506 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:36.804523 Running IPv4 version 20:54:36.804576 Listening on port 41001 20:54:36.804614 Wrote pid 116289 to log/7/server/ftp_sockdata.pid 20:54:36.804633 Received PING (on stdin) 20:54:36.804709 Received PORT (on stdin) 20:54:36.804960 ====> Client connect 20:54:36.805602 Received DATA (on stdin) 20:54:36.805618 > 18 bytes data, server => client 20:54:36.805629 'WE ROOLZ: 110634\r\n' 20:54:36.805677 Received DISC (on stdin) 20:54:36.805690 ====> Client forcibly disconnected 20:54:36.805808 Received QUIT (on stdin) 20:54:36.805825 quits 20:54:36.805891 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==116495== ==116495== Process terminating with default action of signal 4 (SIGILL) ==116495== Illegal opcode at address 0x4003082 ==116495== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116495== by 0x4003082: main (tool_main.c:243) === End of file valgrind191 CMD (33792): ../libtool --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/valgrind194 ../src/curl -q --output log/6/curl194.out --include --trace-ascii log/6/trace194 --trace-config all --trace-time http://127.0.0.1:38475/want/194 -C 87 --fail > log/6/stdout194 2> log/6/stderr194 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/10/valgrind192 ../src/curl -q --include --trace-ascii log/10/trace192 --trace-config all --trace-time http://127.0.0.1:43831/192 -w "%{num_connects}\n" > log/10/stdout192 2> log/10/stderr192 192: stdout FAILED: --- log/10/check-expected 2025-06-04 20:54:37.246364787 +0000 +++ log/10/check-generated 2025-06-04 20:54:37.246364787 +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/10/ 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 commands.log ../libtool --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/valgrind192 ../src/curl -q --include --trace-ascii log/10/trace192 --trace-config all --trace-time http://127.0.0.1:43831/192 -w "%{num_connects}\n" > log/10/stdout192 2> log/10/stderr192 === End of file commands.log === Start of file http_server.log 20:54:36.868905 ====> Client connect 20:54:36.868940 accept_connection 3 returned 4 20:54:36.868957 accept_connection 3 returned 0 20:54:36.868971 Read 93 bytes 20:54:36.868980 Process 93 bytes request 20:54:36.868992 Got request: GET /verifiedserver HTTP/1.1 20:54:36.869002 Are-we-friendly question received 20:54:36.869025 Wrote request (93 bytes) input to log/10/server.input 20:54:36.869042 Identifying ourselves as friends 20:54:36.869095 Response sent (57 bytes) and written to log/10/server.response 20:54:36.869104 special request received, no persistency 20:54:36.869113 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind192 ==116551== ==116551== Process terminating with default action of signal 4 (SIGILL) ==116551== Illegal opcode at address 0x4003082 ==116551== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116551== by 0x4003082: main (tool_main.c:243) === End of file valgrind192 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/6/valgrind194 ../src/curl -q --output log/6/curl194.out --include --trace-ascii log/6/trace194 --trace-config all --trace-time http://127.0.0.1:38475/want/194 -C 87 --fail > log/6/stdout194 2> log/6/stderr194 194: 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 194 === Start of file commands.log ../libtool --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/valgrind194 ../src/curl -q --output log/6/curl194.out --include --trace-ascii log/6/trace194 --trace-config all --trace-time http://127.0.0.1:38475/want/194 -C 87 --fail > log/6/stdout194 2> log/6/stderr194 === End of file commands.log === Start of file http_server.log 20:54:36.867101 ====> Client connect 20:54:36.867146 accept_connection 3 returned 4 20:54:36.867163 accept_connection 3 returned 0 20:54:36.867259 Read 93 bytes 20:54:36.867270 Process 93 bytes request 20:54:36.867285 Got request: GET /verifiedserver HTTP/1.1 20:54:36.867294 Are-we-friendly question received 20:54:36.867318 Wrote request (93 bytes) input to log/6/server.input 20:54:36.867335 Identifying ourselves as friends 20:54:36.867386 Response sent (57 bytes) and written to log/6/server.response 20:54:36.867394 special request received, no persistency 20:54:36.867402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind194 ==116557== ==116557== Process terminating with default action of signal 4 (SIGILL) ==116557== Illegal opcode at address 0x4003082 ==116557== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116557== by 0x4003082: main (tool_main.c:243) === 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/2/valgrind195 ../src/curl -q --output log/2/curl195.out --include --trace-ascii log/2/trace195 --trace-config all --trace-time ftp://127.0.0.1:41115/195 > log/2/stdout195 2> log/2/stderr195 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/16/valgrind193 ../src/curl -q --include --trace-ascii log/16/trace193 --trace-config all --trace-time http://127.0.0.1:33409/193 -w "%{num_connects}\n" -L > log/16/stdout193 2> log/16/stderr193 193: stdout FAILED: --- log/16/check-expected 2025-06-04 20:54:37.253031453 +0000 +++ log/16/check-generated 2025-06-04 20:54:37.253031453 +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/16/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind193 ../src/curl -q --include --trace-ascii log/16/trace193 --trace-config all --trace-time http://127.0.0.1:33409/193 -w "%{num_connects}\n" -L > log/16/stdout193 2> log/16/stderr193 === End of file commands.log === Start of file http_server.log 20:54:36.866935 ====> Client connect 20:54:36.866969 accept_connection 3 returned 4 20:54:36.866987 accept_connection 3 returned 0 20:54:36.867102 Read 93 bytes 20:54:36.867117 Process 93 bytes request 20:54:36.867133 Got request: GET /verifiedserver HTTP/1.1 20:54:36.867144 Are-we-friendly question received 20:54:36.867180 Wrote request (93 bytes) input to log/16/server.input 20:54:36.867199 Identifying ourselves as friends 20:54:36.867252 Response sent (57 bytes) and written to log/16/server.response 20:54:36.867262 special request received, no persistency 20:54:36.867272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind193 ==116553== ==116553== Process terminating with default action of signal 4 (SIGILL) ==116553== Illegal opcode at address 0x4003082 ==116553== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116553== by 0x4003082: main (tool_main.c:243) === End of file valgrind193 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/2/valgrind195 ../src/curl -q --output log/2/curl195.out --include --trace-ascii log/2/trace195 --trace-config all --trace-time ftp://127.0.0.1:41115/195 > log/2/stdout195 2> log/2/stderr195 195: 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 195 === Start of file commands.log ../libtool --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/valgrind195 ../src/curl -q --output log/2/curl195.out --include --trace-ascii log/2/trace195 --trace-config all --trace-time ftp://127.0.0.1:41115/195 > log/2/stdout195 2> log/2/stderr195 === End of file commands.log === Start of file ftp_server.log 20:54:36.651714 ====> Client connect 20:54:36.651879 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:36.652357 < "USER anonymous" 20:54:36.652397 > "331 We are happy you popped in![CR][LF]" 20:54:36.653295 < "PASS ftp@example.com" 20:54:36.653339 > "230 Welcome you silly person[CR][LF]" 20:54:36.655507 < "PWD" 20:54:36.655546 > "257 "/" is current directory[CR][LF]" 20:54:36.656304 < "EPSV" 20:54:36.656328 ====> Passive DATA channel requested by client 20:54:36.656342 DATA sockfilt for passive data channel starting... 20:54:36.658798 DATA sockfilt for passive data channel started (pid 116535) 20:54:36.658904 DATA sockfilt for passive data channel listens on port 36149 20:54:36.658948 > "229 Entering Passive Mode (|||36149|)[LF]" 20:54:36.658965 Client has been notified that DATA conn will be accepted on port 36149 20:54:36.659169 Client connects to port 36149 20:54:36.659198 ====> Client established passive DATA connection on port 36149 20:54:36.659305 < "TYPE I" 20:54:36.659337 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:36.659491 < "SIZE verifiedserver" 20:54:36.659526 > "213 18[CR][LF]" 20:54:36.659677 < "RETR verifiedserver" 20:54:36.659712 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:36.659785 =====> Closing passive DATA connection... 20:54:36.659800 Server disconnects passive DATA connection 20:54:36.660017 Server disconnected passive DATA connection 20:54:36.660046 DATA sockfilt for passive data channel quits (pid 116535) 20:54:36.660285 DATA sockfilt for passive data channel quit (pid 116535) 20:54:36.660311 =====> Closed passive DATA connection 20:54:36.660336 > "226 File transfer complete[CR][LF]" 20:54:36.702533 < "QUIT" 20:54:36.702589 > "221 bye bye baby[CR][LF]" 20:54:36.702719 MAIN sockfilt said DISC 20:54:36.702744 ====> Client disconnected 20:54:36.702813 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.871566 ====> Client connect 20:54:35.873617 Received DATA (on stdin) 20:54:35.873642 > 160 bytes data, server => client 20:54:35.873654 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.873665 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.873675 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.873749 < 16 bytes data, client => server 20:54:35.873762 'USER anonymous\r\n' 20:54:35.873920 Received DATA (on stdin) 20:54:35.873939 > 33 bytes data, server => client 20:54:35.873950 '331 We are happy you popped in!\r\n' 20:54:35.874629 < 22 bytes data, client => server 20:54:35.874648 'PASS ftp@example.com\r\n' 20:54:35.874865 Received DATA (on stdin) 20:54:35.874891 > 30 bytes data, server => client 20:54:35.874902 '230 Welcome you silly person\r\n' 20:54:35.876902 < 5 bytes data, client => server 20:54:35.876922 'PWD\r\n' 20:54:35.877647 Received DATA (on stdin) 20:54:35.877667 > 30 bytes data, server => client 20:54:35.877678 '257 "/" is current directory\r\n' 20:54:35.877736 < 6 bytes data, client => server 20:54:35.877747 'EPSV\r\n' 20:54:35.880485 Received DATA (on stdin) 20:54:35.880499 > 38 bytes data, server => client 20:54:35.880510 '229 Entering Passive Mode (|||36149|)\n' 20:54:35.880724 < 8 bytes data, client => server 20:54:35.880737 'TYPE I\r\n' 20:54:35.880853 Received DATA (on stdin) 20:54:35.880865 > 33 bytes data, server => client 20:54:35.880876 '200 I modify TYPE as you wanted\r\n' 20:54:35.880924 < 21 bytes data, client => server 20:54:35.880936 'SIZE verifiedserver\r\n' 20:54:35.8CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind196 ../src/curl -q --include --trace-ascii log/13/trace196 --trace-config all --trace-time ftp://127.0.0.1:43911/196 --retry 1 -w '%{num_retries}\n' > log/13/stdout196 2> log/13/stderr196 81041 Received DATA (on stdin) 20:54:35.881053 > 8 bytes data, server => client 20:54:35.881063 '213 18\r\n' 20:54:35.881109 < 21 bytes data, client => server 20:54:35.881122 'RETR verifiedserver\r\n' 20:54:35.881317 Received DATA (on stdin) 20:54:35.881330 > 29 bytes data, server => client 20:54:35.881341 '150 Binary junk (18 bytes).\r\n' 20:54:35.881850 Received DATA (on stdin) 20:54:35.881863 > 28 bytes data, server => client 20:54:35.881874 '226 File transfer complete\r\n' 20:54:35.923846 < 6 bytes data, client => server 20:54:35.923875 'QUIT\r\n' 20:54:35.924107 Received DATA (on stdin) 20:54:35.924120 > 18 bytes data, server => client 20:54:35.924131 '221 bye bye baby\r\n' 20:54:35.924193 ====> Client disconnect 20:54:35.924326 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:36.879905 Running IPv4 version 20:54:36.879970 Listening on port 36149 20:54:36.880236 Wrote pid 116535 to log/2/server/ftp_sockdata.pid 20:54:36.880260 Received PING (on stdin) 20:54:36.880337 Received PORT (on stdin) 20:54:36.880630 ====> Client connect 20:54:36.881366 Received DATA (on stdin) 20:54:36.881378 > 18 bytes data, server => client 20:54:36.881389 'WE ROOLZ: 110829\r\n' 20:54:36.881410 Received DISC (on stdin) 20:54:36.881420 ====> Client forcibly disconnected 20:54:36.881567 Received QUIT (on stdin) 20:54:36.881579 quits 20:54:36.881631 ============> 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 ==116751== ==116751== Process terminating with default action of signal 4 (SIGILL) ==116751== Illegal opcode at address 0x4003082 ==116751== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116751== by 0x4003082: main (tool_main.c:243) === End of file valgrind195 RUN: Process with pid 110632 gracefully died 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/13/valgrind196 ../src/curl -q --include --trace-ascii log/13/trace196 --trace-config all --trace-time ftp://127.0.0.1:43911/196 --retry 1 -w '%{num_retries}\n' > log/13/stdout196 2> log/13/stderr196 196: stdout FAILED: --- log/13/check-expected 2025-06-04 20:54:37.279698120 +0000 +++ log/13/check-generated 2025-06-04 20:54:37.279698120 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/13/ dir after test 196 === Start of file check-expected 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind196 ../src/curl -q --include --trace-ascii log/13/trace196 --trace-config all --trace-time ftp://127.0.0.1:43911/196 --retry 1 -w '%{num_retries}\n' > log/13/stdout196 2> log/13/stderr196 === End of file commands.log === Start of file ftp_server.log 20:54:36.666285 ====> Client connect 20:54:36.666430 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:36.666707 < "USER anonymous" 20:54:36.666744 > "331 We are happy you popped in![CR][LF]" 20:54:36.666907 < "PASS ftp@example.com" 20:54:36.666933 > "230 Welcome you silly person[CR][LF]" 20:54:36.667086 < "PWD" 20:54:36.667114 > "257 "/" is current directory[CR][LF]" 20:54:36.667276 < "EPSV" 20:54:36.667299 ====> Passive DATA channel requested by client 20:54:36.667311 DATA sockfilt for passive data channel starting... 20:54:36.669232 DATA sockfilt for passive data channel started (pid 116585) 20:54:36.669344 DATA sockfilt for passive data channel listens on port 32841 20:54:36.669387 > "229 Entering Passive Mode (|||32841|)[LF]" 20:54:36.669407 Client has been notified that DATA conn will be accepted on port 32841 20:54:36.669622 Client connects to port 32841 20:54:36.669649 ====> Client established passive DATA connection on port 32841 20:54:36.669716 < "TYPE I" 20:54:36.669743 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:36.669902 < "SIZE verifiedserver" 20:54:36.669939 > "213 18[CR][LF]" 20:54:36.670095 < "RETR verifiedserver" 20:54:36.670128 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:36.670205 =====> Closing passive DATA connection... 20:54:36.670222 Server disconnects passive DATA connection 20:54:36.670440 Server disconnected passive DATA connection 20:54:36.670469 DATA sockfilt for passive data channel quits (pid 116585) 20:54:36.670755 DATA sockfilt for passive data channel quit (pid 116585) 20:54:36.670807 =====> Closed passive DATA connection 20:54:36.670849 > "226 File transfer complete[CR][LF]" 20:54:36.715934 < "QUIT" 20:54:36.715986 > "221 bye bye baby[CR][LF]" 20:54:36.716951 MAIN sockfilt said DISC 20:54:36.716983 ====> Client disconnected 20:54:36.717062 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:35.887698 ====> Client connect 20:54:35.887957 Received DATA (on stdin) 20:54:35.887973 > 160 bytes data, server => client 20:54:35.887985 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:35.887996 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:35.888008 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:35.888073 < 16 bytes data, client => server 20:54:35.888088 'USER anonymous\r\n' 20:54:35.888261 Received DATA (on stdin) 20:54:35.888273 > 33 bytes data, server => client 20:54:35.888284 '331 We are happy you popped in!\r\n' 20:54:35.888332 < 22 bytes data, client => server 20:54:35.888343 'PASS ftp@example.com\r\n' 20:54:35.888448 Received DATA (on stdin) 20:54:35.888460 > 30 bytes data, server => client 20:54:35.888471 '230 Welcome you silly person\r\n' 20:54:35.888517 < 5 bytes data, client => server 20:54:35.888528 'PWD\r\n' 20:54:35.888628 Received DATA (on stdin) 20:54:35.888640 > 30 bytes data, server => client 20:54:35.888650 '257 "/" is current directory\r\n' 20:54:35.888706 < 6 bytes data, client => server 20:54:35.888720 'EPSV\r\n' 20:54:35.890928 Received DATA (on stdin) 20:54:35.890941 > 38 bytes data, server => client 20:54:35.890953 '229 Entering Passive Mode (|||32841|)\n' 20:54:35.891085 < 8 bytes data, client => server 20:54:35.891097 'TYPE I\r\n' 20:54:35.891259 Received DATA (on stdin) 20:54:35.891272 > 33 bytes data, server => client 20:54:35.891283 '200 I modify TYPE as you wanted\r\n' 20:54:35.891331 < 21 bytes data, client => server 20:54:35.891344 'SIZE verifiedserver\r\n' 20:54:35.891453 Received DATA (on stdin) 20:54:35.891465 > 8 bytes data, server => client 20:54:35.891475 '213 18\r\n' 20:54:35.891523 < 21 bytes data, client => server 20:54:35.891536 'RETR verifiedserver\r\n' 20:54:35.891736 Received DATA (on stdin) 20:54:35.891749 > 29 bytes data, server => client 20:54:35.891759 '150 Binary junk (18 bytes).\r\n' 20:54:35.892378 Received DATA (on stdin) 20:54:35.892397 > 28 bytes data, server => client 20:54:35.892408 '226 File transfer complete\r\n' 20:54:35.937044 < 6 bytes data, client => server 20:54:35.937082 'QUIT\r\n' 20:54:35.937504 Received DATA (on stdin) 20:54:35.937516 > 18 bytes data, server => client 20:54:35.937527 '221 bye bye baby\r\n' 20:54:35.938414 ====> Client disconnect 20:54:35.938578 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:36.890425 Running IPv4 version 20:54:36.890483 Listening on port 32841 20:54:36.890519 Wrote pid 116585 to log/13/server/ftp_sockdata.pid 20:54:36.890680 Received PING (on stdin) 20:54:36.890772 Received PORT (on stdin) 20:54:36.891057 ====> Client connect 20:54:36.891785 Received DATA (on stdin) 20:54:36.891799 > 18 bytes data, server => client 20:54:36.891809 'WE ROOLZ: 110831\r\n' 20:54:36.891831 Received DISC (on stdin) 20:54:36.891842 ====> Client forcibly disconnected 20:54:36.891992 Received QUIT (on stdin) 20:54:36.892004 quits 20:54:36.892063 ============> 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 ==116769== ==116769== Process terminating with default action of signal 4 (SIGILL) ==116769== Illegal opcode at address 0x4003082 ==116769== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116769== by 0x4003082: main (tool_main.c:243) === End of file valgrind196 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/24/valgrind190 ../src/curl -q --output log/24/curl190.out --include --trace-ascii log/24/trace190 --trace-config all --trace-time ftp://127.0.0.1:34045/path/to/file/190 -m 10 > log/24/stdout190 2> log/24/stderr190 190: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind190 ../src/curl -q --output log/24/curl190.out --include --trace-ascii log/24/trace190 --trace-config all --trace-time ftp://127.0.0.1:34045/path/to/file/190 -m 10 > log/24/stdout190 2> log/24/stderr190 === End of file commands.log === Start of file ftp_server.log 20:54:36.579147 ====> Client connect 20:54:36.579282 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:36.579523 < CMD (33792): ../libtool --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/valgrind197 ../src/curl -q --include --trace-ascii log/11/trace197 --trace-config all --trace-time http://127.0.0.1:44265/197 --retry 1000 > log/11/stdout197 2> log/11/stderr197 "USER anonymous" 20:54:36.579578 > "331 We are happy you popped in![CR][LF]" 20:54:36.579668 < "PASS ftp@example.com" 20:54:36.579688 > "230 Welcome you silly person[CR][LF]" 20:54:36.579795 < "PWD" 20:54:36.579821 > "257 "/" is current directory[CR][LF]" 20:54:36.579932 < "EPSV" 20:54:36.579951 ====> Passive DATA channel requested by client 20:54:36.579960 DATA sockfilt for passive data channel starting... 20:54:36.581324 DATA sockfilt for passive data channel started (pid 116288) 20:54:36.581426 DATA sockfilt for passive data channel listens on port 41465 20:54:36.581460 > "229 Entering Passive Mode (|||41465|)[LF]" 20:54:36.581476 Client has been notified that DATA conn will be accepted on port 41465 20:54:36.581954 Client connects to port 41465 20:54:36.581999 ====> Client established passive DATA connection on port 41465 20:54:36.582140 < "TYPE I" 20:54:36.582186 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:36.582362 < "SIZE verifiedserver" 20:54:36.582395 > "213 18[CR][LF]" 20:54:36.582530 < "RETR verifiedserver" 20:54:36.582562 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:36.582644 =====> Closing passive DATA connection... 20:54:36.582658 Server disconnects passive DATA connection 20:54:36.582821 Server disconnected passive DATA connection 20:54:36.582844 DATA sockfilt for passive data channel quits (pid 116288) 20:54:36.583085 DATA sockfilt for passive data channel quit (pid 116288) 20:54:36.583106 =====> Closed passive DATA connection 20:54:36.583133 > "226 File transfer complete[CR][LF]" 20:54:36.629378 < "QUIT" 20:54:36.629426 > "221 bye bye baby[CR][LF]" 20:54:36.630399 MAIN sockfilt said DISC 20:54:36.630425 ====> Client disconnected 20:54:36.630494 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:36.800570 ====> Client connect 20:54:36.800804 Received DATA (on stdin) 20:54:36.800817 > 160 bytes data, server => client 20:54:36.800829 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:36.800840 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:36.800850 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:36.800912 < 16 bytes data, client => server 20:54:36.800923 'USER anonymous\r\n' 20:54:36.801049 Received DATA (on stdin) 20:54:36.801060 > 33 bytes data, server => client 20:54:36.801071 '331 We are happy you popped in!\r\n' 20:54:36.801117 < 22 bytes data, client => server 20:54:36.801134 'PASS ftp@example.com\r\n' 20:54:36.801197 Received DATA (on stdin) 20:54:36.801206 > 30 bytes data, server => client 20:54:36.801214 '230 Welcome you silly person\r\n' 20:54:36.801253 < 5 bytes data, client => server 20:54:36.801266 'PWD\r\n' 20:54:36.801329 Received DATA (on stdin) 20:54:36.801338 > 30 bytes data, server => client 20:54:36.801346 '257 "/" is current directory\r\n' 20:54:36.801391 < 6 bytes data, client => server 20:54:36.801404 'EPSV\r\n' 20:54:36.802991 Received DATA (on stdin) 20:54:36.803004 > 38 bytes data, server => client 20:54:36.803014 '229 Entering Passive Mode (|||41465|)\n' 20:54:36.803146 < 8 bytes data, client => server 20:54:36.803162 'TYPE I\r\n' 20:54:36.803707 Received DATA (on stdin) 20:54:36.803724 > 33 bytes data, server => client 20:54:36.803736 '200 I modify TYPE as you wanted\r\n' 20:54:36.803790 < 21 bytes data, client => server 20:54:36.803802 'SIZE verifiedserver\r\n' 20:54:36.803908 Received DATA (on stdin) 20:54:36.803919 > 8 bytes data, server => client 20:54:36.803929 '213 18\r\n' 20:54:36.803971 < 21 bytes data, client => server 20:54:36.803982 'RETR verifiedserver\r\n' 20:54:36.804172 Received DATA (on stdin) 20:54:36.804184 > 29 bytes data, server => client 20:54:36.804194 '150 Binary junk (18 bytes).\r\n' 20:54:36.804648 Received DATA (on stdin) 20:54:36.804660 > 28 bytes data, server => client 20:54:36.804671 '226 File transfer complete\r\n' 20:54:36.850578 < 6 bytes data, client => server 20:54:36.850595 'QUIT\r\n' 20:54:36.850995 Received DATA (on stdin) 20:54:36.851007 > 18 bytes data, server => client 20:54:36.851020 '221 bye bye baby\r\n' 20:54:36.851865 ====> Client disconnect 20:54:36.852005 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:36.802677 Running IPv4 version 20:54:36.802726 Listening on port 41465 20:54:36.802762 Wrote pid 116288 to log/24/server/ftp_sockdata.pid 20:54:36.802781 Received PING (on stdin) 20:54:36.802862 Received PORT (on stdin) 20:54:36.803217 ====> Client connect 20:54:36.804220 Received DATA (on stdin) 20:54:36.804235 > 18 bytes data, server => client 20:54:36.804245 'WE ROOLZ: 110632\r\n' 20:54:36.804271 Received DISC (on stdin) 20:54:36.804282 ====> Client forcibly disconnected 20:54:36.804361 Received QUIT (on stdin) 20:54:36.804371 quits 20:54:36.804428 ============> 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 ==116496== ==116496== Process terminating with default action of signal 4 (SIGILL) ==116496== Illegal opcode at address 0x4003082 ==116496== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116496== by 0x4003082: main (tool_main.c:243) === End of file valgrind190 CMD (33792): ../libtool --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/valgrind200 ../src/curl -q --output log/3/curl200.out --trace-ascii log/3/trace200 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/3/test200.txt > log/3/stdout200 2> log/3/stderr200 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/11/valgrind197 ../src/curl -q --include --trace-ascii log/11/trace197 --trace-config all --trace-time http://127.0.0.1:44265/197 --retry 1000 > log/11/stdout197 2> log/11/stderr197 197: stdout FAILED: --- log/11/check-expected 2025-06-04 20:54:37.416364791 +0000 +++ log/11/check-generated 2025-06-04 20:54:37.416364791 +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/11/ 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 commands.log ../libtool --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/valgrind197 ../src/curl -q --include --trace-ascii log/11/trace197 --trace-config all --trace-time http://127.0.0.1:44265/197 --retry 1000 > log/11/stdout197 2> log/11/stderr197 === End of file commands.log === Start of file http_server.log 20:54:37.061385 ====> Client connect 20:54:37.061417 accept_connection 3 returned 4 20:54:37.061433 accept_connection 3 returned 0 20:54:37.061446 Read 93 bytes 20:54:37.061455 Process 93 bytes request 20:54:37.061468 Got request: GET /verifiedserver HTTP/1.1 20:54:37.061477 Are-we-friendly question received 20:54:37.061498 Wrote request (93 bytes) input to log/11/server.input 20:54:37.061512 Identifying ourselves as friends 20:54:37.061558 Response sent (57 bytes) and written to log/11/server.response 20:54:37.061566 special request received, no persistency 20:54:37.061575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind197 ==116920== ==116920== Process terminating with default action of signal 4 (SIGILL) ==116920== Illegal opcode at address 0x4003082 ==116920== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116920== by 0x4003082: main (tool_main.c:243) === End of file valgrind197 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind201 ../src/curl -q --output log/17/curl201.out --include --trace-ascii log/17/trace201 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/17/non-existent-file.txt > log/17/stdout201 2> log/17/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/15/valgrind198 ../src/curl -q --output log/15/curl198.out --include --trace-ascii log/15/trace198 --trace-config all --trace-time http://127.0.0.1:39051/198 --retry 1000 > log/15/stdout198 2> log/15/stderr198 CMD (33792): ../libtool --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/valgrind199 ../src/curl -q --output log/4/curl199.out --include --trace-ascii log/4/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35779/{199,199}" -G > log/4/stdout199 2> log/4/stderr199 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/3/valgrind200 ../src/curl -q --output log/3/curl200.out --trace-ascii log/3/trace200 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/3/test200.txt > log/3/stdout200 2> log/3/stderr200 200: data FAILED: --- log/3/check-expected 2025-06-04 20:54:37.433031458 +0000 +++ log/3/check-generated 2025-06-04 20:54:37.433031458 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/3/ 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 commands.log ../libtool --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/valgrind200 ../src/curl -q --output log/3/curl200.out --trace-ascii log/3/trace200 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/3/test200.txt > log/3/stdout200 2> log/3/stderr200 === End of file commands.log === 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 ==116897== ==116897== Process terminating with default action of signal 4 (SIGILL) ==116897== Illegal opcode at address 0x4003082 ==116897== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116897== by 0x4003082: main (tool_main.c:243) === End of file valgrind200 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/17/valgrind201 ../src/curl -q --output log/17/curl201.out --include --trace-ascii log/17/trace201 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/17/non-existent-file.txt > log/17/stdout201 2> log/17/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/17/ dir after test 201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind201 ../src/curl -q --output log/17/curl201.out --include --trace-ascii log/17/trace201 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/17/non-existent-file.txt > log/17/stdout201 2> log/17/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==116926== ==116926== Process terminating with default action of signal 4 (SIGILL) ==116926== Illegal opcode at address 0x4003082 ==116926== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116926== by 0x4003082: main (tool_main.c:243) === End of file valgrind201 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/15/valgrind198 ../src/curl -q --output log/15/curl198.out --include --trace-ascii log/15/trace198 --trace-config all --trace-time http://127.0.0.1:39051/198 --retry 1000 > log/15/stdout198 2> log/15/stderr198 198: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind198 ../src/curl -q --output log/15/curl198.out --include --trace-ascii log/15/trace198 --trace-config all --trace-time http://127.0.0.1:39051/198 --retry 1000 > log/15/stdout198 2> log/15/stderr198 === End of file commands.log === Start of file http_server.log 20:54:37.062549 ====> Client connect 20:54:37.062585 accept_connection 3 returned 4 20:54:37.062603 accept_connection 3 returned 0 20:54:37.062618 Read 93 bytes 20:54:37.062628 Process 93 bytes request 20:54:37.062644 Got request: GET /verifiedserver HTTP/1.1 20:54:37.062653 Are-we-friendly question received 20:54:37.062678 Wrote request (93 bytes) input to log/15/server.input 20:54:37.062694 Identifying ourselves as friends 20:54:37.062761 Response sent (57 bytes) and written to log/15/server.response 20:54:37.062771 special request received, no persistency 20:54:37.062779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind198 ==116922== ==116922== Process terminating with default action of signal 4 (SIGILL) ==116922== Illegal opcode at address 0x4003082 ==116922== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116922== by 0x4003082: main (tool_main.c:243) === End of file valgrind198 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/4/valgrind199 ../src/curl -q --output log/4/curl199.out --include --trace-ascii log/4/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35779/{199,199}" -G > log/4/stdout199 2> log/4/stderr199 199: 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 199 === Start of file commands.log ../libtool --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/valgrind199 ../src/curl -q --output log/4/curl199.out --include --trace-ascii log/4/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35779/{199,199}" -G > log/4/stdout199 2> log/4/stderr199 === End of file commands.log === Start of file http_server.log 20:54:37.078828 ====> Client connect 20:54:37.078862 accept_connection 3 returned 4 20:54:37.078880 accept_connection 3 returned 0 20:54:37.078894 Read 93 bytes 20:54:37.078904 Process 93 bytes request 20:54:37.078917 Got request: GET /verifiedserver HTTP/1.1 20:54:37.078926 Are-we-friendly question received 20:54:37.078949 Wrote request (93 bytes) input to log/4/server.input 20:54:37.078964 Identifying ourselves as friends 20:54:37.079025 Response sent (57 bytes) and written to log/4/server.response 20:54:37.079035 special request received, no persistency 20:54:37.079044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === End of file http_verify.out === Start 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/5/valgrind202 ../src/curl -q --trace-ascii log/5/trace202 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/5/test202.txt > log/5/stdout202 2> log/5/stderr202 erver.cmd Testnum 199 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind199 ==116983== ==116983== Process terminating with default action of signal 4 (SIGILL) ==116983== Illegal opcode at address 0x4003082 ==116983== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==116983== by 0x4003082: main (tool_main.c:243) === 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/9/valgrind204 ../src/curl -q --output log/9/curl204.out --trace-ascii log/9/trace204 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/9/result204.txt -T log/9/upload204.txt > log/9/stdout204 2> log/9/stderr204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind203 ../src/curl -q --output log/23/curl203.out --trace-ascii log/23/trace203 --trace-config all --trace-time file:/startdir/src/build-curl/tests/log/23/test203.txt > log/23/stdout203 2> log/23/stderr203 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/5/valgrind202 ../src/curl -q --trace-ascii log/5/trace202 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/5/test202.txt > log/5/stdout202 2> log/5/stderr202 202: stdout FAILED: --- log/5/check-expected 2025-06-04 20:54:37.466364791 +0000 +++ log/5/check-generated 2025-06-04 20:54:37.466364791 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/5/ 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 commands.log ../libtool --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/valgrind202 ../src/curl -q --trace-ascii log/5/trace202 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/5/test202.txt > log/5/stdout202 2> log/5/stderr202 === End of file commands.log === 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 ==117068== ==117068== Process terminating with default action of signal 4 (SIGILL) ==117068== Illegal opcode at address 0x4003082 ==117068== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117068== by 0x4003082: main (tool_main.c:243) === End of file valgrind202 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/9/valgrind204 ../src/curl -q --output log/9/curl204.out --trace-ascii log/9/trace204 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/9/result204.txt -T log/9/upload204.txt > log/9/stdout204 2> log/9/stderr204 204: output (log/9/result204.txt) FAILED: --- log/9/check-expected 2025-06-04 20:54:37.489698126 +0000 +++ log/9/check-generated 2025-06-04 20:54:37.489698126 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/9/ 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 commands.log ../libtool --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/valgrind204 ../src/curl -q --output log/9/curl204.out --trace-ascii log/9/trace204 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/9/result204.txt -T log/9/upload204.txt > log/9/stdout204 2> log/9/stderr204 === End of file commands.log === 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 ==117219== ==117219== Process terminating with default action of signal 4 (SIGILL) ==117219== Illegal opcode at address 0x4003082 ==117219== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117219== by 0x4003082: main (tool_main.c:243) === 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/18/valgrind205 ../src/curl -q --output log/18/curl205.out --trace-ascii log/18/trace205 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/18/nonexisting/result205.txt -T log/18/upload205.txt > log/18/stdout205 2> log/18/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/20/valgrind206 ../src/curl -q --output log/20/curl206.out --include --trace-ascii log/20/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:41293 --proxy-user silly:person --proxy-digest --proxytunnel > log/20/stdout206 2> log/20/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/8/valgrind207 ../src/curl -q --output log/8/curl207.out --include --trace-ascii log/8/trace207 --trace-config all --trace-time http://127.0.0.1:35791/207 > log/8/stdout207 2> log/8/stderr207 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/23/valgrind203 ../src/curl -q --output log/23/curl203.out --trace-ascii log/23/trace203 --trace-config all --trace-time file:/startdir/src/build-curl/tests/log/23/test203.txt > log/23/stdout203 2> log/23/stderr203 203: data FAILED: --- log/23/check-expected 2025-06-04 20:54:37.496364793 +0000 +++ log/23/check-generated 2025-06-04 20:54:37.496364793 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/23/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind203 ../src/curl -q --output log/23/curl203.out --trace-ascii log/23/trace203 --trace-config all --trace-time file:/startdir/src/build-curl/tests/log/23/test203.txt > log/23/stdout203 2> log/23/stderr203 === End of file commands.log === 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 ==117190== ==117190== Process terminating with default action of signal 4 (SIGILL) ==117190== Illegal opcode at address 0x4003082 ==117190== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117190== by 0x4003082: main (tool_main.c:243) === 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/18/valgrind205 ../src/curl -q --output log/18/curl205.out --trace-ascii log/18/trace205 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/18/nonexisting/result205.txt -T log/18/upload205.txt > log/18/stdout205 2> log/18/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/18/ dir after test 205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind205 ../src/curl -q --output log/18/curl205.out --trace-ascii log/18/trace205 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/18/nonexisting/result205.txt -T log/18/upload205.txt > log/18/stdout205 2> log/18/stderr205 === End of file commands.log === 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 ==117258== ==117258== Process terminating with default action of signal 4 (SIGILL) ==117258== Illegal opcode at address 0x4003082 ==117258== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117258== by 0x4003082: main (tool_main.c:243) === End of file valgrind205 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/20/valgrind206 ../src/curl -q --output log/20/curl206.out --include --trace-ascii log/20/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:41293 --proxy-user silly:person --proxy-digest --proxytunnel > log/20/stdout206 2> log/20/stderr206 206: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind206 ../src/curl -q --output log/20/curl206.out --include --trace-ascii log/20/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:41293 --proxy-user silly:person --proxy-digest --proxytunnel > log/20/stdout206 2> log/20/stderr206 === End of file commands.log === Start of file http_server.log 20:54:37.196491 ====> Client connect 20:54:37.196524 accept_connection 3 returned 4 20:54:37.196543 accept_connection 3 returned 0 20:54:37.196559 Read 93 bytes 20:54:37.196569 Process 93 bytes request 20:54:37.196582 Got request: GET /verifiedserver HTTP/1.1 20:54:37.196591 Are-we-friendly question received 20:54:37.196612 Wrote request (93 bytes) input to log/20/server.input 20:54:37.196627 Identifying ourselves as friends 20:54:37.196701 Response sent (57 bytes) and written to log/20/server.response 20:54:37.196710 special request received, no persistency 20:54:37.196719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind206 ==117408== ==117408== Process terminating with default action of signal 4 (SIGILL) ==117408== Illegal opcode at address 0x4003082 ==117408== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117408== by 0x4003082: main (tool_main.c:243) === End of file valgrind206 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/8/valgrind207 ../src/curl -q --output log/8/curl207.out --include --trace-ascii log/8/trace207 --trace-config all --trace-time http://127.0.0.1:35791/207 > log/8/stdout207 2> log/8/stderr207 207: 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 207 === Start of file commands.log ../libtool --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/valgrind207 ../src/curl -q --output log/8/curl207.out --include --trace-ascii log/8/trace207 --trace-config all --trace-time http://127.0.0.1:35791/207 > log/8/stdout207 2> log/8/stderr207 === End of file commands.log === Start of file http_server.log 20:54:37.199041 ====> Client connect 20:54:37.199071 accept_connection 3 returned 4 20:54:37.199088 accept_connection 3 returned 0 20:54:37.199102 Read 93 bytes 20:54:37.199111 Process 93 bytes request 20:54:37.199122 Got request: GET /verifiedserver HTTP/1.1 20:54:37.199131 Are-we-friendly question received 20:54:37.199156 Wrote request (93 bytes) input to log/8/server.input 20:54:37.199173 Identifying ourselves as friends 20:54:37.199226 Response sent (57 bytes) and written to log/8/server.response 20:54:37.199236 special request received, no persistency 20:54:37.199244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /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/1/valgrind209 ../src/curl -q --output log/1/curl209.out --include --trace-ascii log/1/trace209 --trace-config all --trace-time http://test.remote.example.com.209:42503/path/2090002 --proxy http://127.0.0.1:42503 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/1/stdout209 2> log/1/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/21/valgrind208 ../src/curl -q --output log/21/curl208.out --include --trace-ascii log/21/trace208 --trace-config all --trace-time -x http://127.0.0.1:36793 ftp://daniel:mysecret@host.com/we/want/208 -T log/21/test208.txt > log/21/stdout208 2> log/21/stderr208 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind210 ../src/curl -q --output log/14/curl210.out --trace-ascii log/14/trace210 --trace-config all --trace-time ftp://127.0.0.1:36539/a/path/210 ftp://127.0.0.1:36539/a/path/210 > log/14/stdout210 2> log/14/stderr210 r HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind207 ==117406== ==117406== Process terminating with default action of signal 4 (SIGILL) ==117406== Illegal opcode at address 0x4003082 ==117406== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117406== by 0x4003082: main (tool_main.c:243) === End of file valgrind207 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/1/valgrind209 ../src/curl -q --output log/1/curl209.out --include --trace-ascii log/1/trace209 --trace-config all --trace-time http://test.remote.example.com.209:42503/path/2090002 --proxy http://127.0.0.1:42503 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/1/stdout209 2> log/1/stderr209 209: 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 209 === Start of file commands.log ../libtool --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/valgrind209 ../src/curl -q --output log/1/curl209.out --include --trace-ascii log/1/trace209 --trace-config all --trace-time http://test.remote.example.com.209:42503/path/2090002 --proxy http://127.0.0.1:42503 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/1/stdout209 2> log/1/stderr209 === End of file commands.log === Start of file http_server.log 20:54:37.210893 ====> Client connect 20:54:37.210921 accept_connection 3 returned 4 20:54:37.210941 accept_connection 3 returned 0 20:54:37.210954 Read 93 bytes 20:54:37.210963 Process 93 bytes request 20:54:37.210975 Got request: GET /verifiedserver HTTP/1.1 20:54:37.210984 Are-we-friendly question received 20:54:37.211005 Wrote request (93 bytes) input to log/1/server.input 20:54:37.211020 Identifying ourselves as friends 20:54:37.211068 Response sent (57 bytes) and written to log/1/server.response 20:54:37.211077 special request received, no persistency 20:54:37.211085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind209 ==117490== ==117490== Process terminating with default action of signal 4 (SIGILL) ==117490== Illegal opcode at address 0x4003082 ==117490== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117490== by 0x4003082: main (tool_main.c:243) === End of file valgrind209 test 0208...[HTTP PUT to an 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/21/valgrind208 ../src/curl -q --output log/21/curl208.out --include --trace-ascii log/21/trace208 --trace-config all --trace-time -x http://127.0.0.1:36793 ftp://daniel:mysecret@host.com/we/want/208 -T log/21/test208.txt > log/21/stdout208 2> log/21/stderr208 208: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind208 ../src/curl -q --output log/21/curl208.out --include --trace-ascii log/21/trace208 --trace-config all --trace-time -x http://127.0.0.1:36793 ftp://daniel:mysecret@host.com/we/want/208 -T log/21/test208.txt > log/21/stdout208 2> log/21/stderr208 === End of file commands.log === Start of file http_server.log 20:54:37.202586 ====> Client connect 20:54:37.202613 accept_connection 3 returned 4 20:54:37.202629 accept_connection 3 returned 0 20:54:37.202642 Read 93 bytes 20:54:37.202652 Process 93 bytes request 20:54:37.202662 Got request: GET /verifiedserver HTTP/1.1 20:54:37.202672 Are-we-friendly question received 20:54:37.202692 Wrote request (93 bytes) input to log/21/server.input 20:54:37.202708 Identifying ourselves as friends 20:54:37.202755 Response sent (57 bytes) and written to log/21/server.response 20:54:37.202764 special request received, no persistency 20:54:37.202773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === 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 ==117424== ==117424== Process terminating with default action of signal 4 (SIGILL) ==117424== Illegal opcode at address 0x4003082 ==117424== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117424== by 0x4003082: main (tool_main.c:243) === End of file valgrind208 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/14/valgrind210 ../src/curl -q --output log/14/curl210.out --trace-ascii log/14/trace210 --trace-config all --trace-time ftp://127.0.0.1:36539/a/path/210 ftp://127.0.0.1:36539/a/path/210 > log/14/stdout210 2> log/14/stderr210 210: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind210 ../src/curl -q --output log/14/curl210.out --trace-ascii log/14/trace210 --trace-config all --trace-time ftp://127.0.0.1:36539/a/path/210 ftp://127.0.0.1:36539/a/path/210 > log/14/stdout210 2> log/14/stderr210 === End of file commands.log === Start of file ftp_server.log 20:54:36.988742 ====> Client connect 20:54:36.988895 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]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/16/valgrind216 ../src/curl -q --output log/16/curl216.out --include --trace-ascii log/16/trace216 --trace-config all --trace-time -T log/16/upload.216 ftp://127.0.0.1:35865/a/path/216/ -T log/16/upload.216 ftp://127.0.0.1:35865/a/path/216/%2e%2eanotherup.216 > log/16/stdout216 2> log/16/stderr216 |[CR][LF]" 20:54:36.989163 < "USER anonymous" 20:54:36.989196 > "331 We are happy you popped in![CR][LF]" 20:54:36.989361 < "PASS ftp@example.com" 20:54:36.989385 > "230 Welcome you silly person[CR][LF]" 20:54:36.989538 < "PWD" 20:54:36.989566 > "257 "/" is current directory[CR][LF]" 20:54:36.990464 < "EPSV" 20:54:36.990491 ====> Passive DATA channel requested by client 20:54:36.990504 DATA sockfilt for passive data channel starting... 20:54:36.992155 DATA sockfilt for passive data channel started (pid 117403) 20:54:36.992245 DATA sockfilt for passive data channel listens on port 39363 20:54:36.992278 > "229 Entering Passive Mode (|||39363|)[LF]" 20:54:36.992294 Client has been notified that DATA conn will be accepted on port 39363 20:54:36.992541 Client connects to port 39363 20:54:36.992566 ====> Client established passive DATA connection on port 39363 20:54:36.992626 < "TYPE I" 20:54:36.992650 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:36.992785 < "SIZE verifiedserver" 20:54:36.992815 > "213 18[CR][LF]" 20:54:36.992939 < "RETR verifiedserver" 20:54:36.992968 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:36.993039 =====> Closing passive DATA connection... 20:54:36.993052 Server disconnects passive DATA connection 20:54:36.993243 Server disconnected passive DATA connection 20:54:36.993269 DATA sockfilt for passive data channel quits (pid 117403) 20:54:36.993475 DATA sockfilt for passive data channel quit (pid 117403) 20:54:36.993500 =====> Closed passive DATA connection 20:54:36.993526 > "226 File transfer complete[CR][LF]" 20:54:37.035864 < "QUIT" 20:54:37.035918 > "221 bye bye baby[CR][LF]" 20:54:37.037510 MAIN sockfilt said DISC 20:54:37.037544 ====> Client disconnected 20:54:37.037604 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.209255 ====> Client connect 20:54:37.210423 Received DATA (on stdin) 20:54:37.210441 > 160 bytes data, server => client 20:54:37.210453 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.210463 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.210473 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.210544 < 16 bytes data, client => server 20:54:37.210558 'USER anonymous\r\n' 20:54:37.210714 Received DATA (on stdin) 20:54:37.210727 > 33 bytes data, server => client 20:54:37.210738 '331 We are happy you popped in!\r\n' 20:54:37.210788 < 22 bytes data, client => server 20:54:37.210800 'PASS ftp@example.com\r\n' 20:54:37.210899 Received DATA (on stdin) 20:54:37.210911 > 30 bytes data, server => client 20:54:37.210922 '230 Welcome you silly person\r\n' 20:54:37.210973 < 5 bytes data, client => server 20:54:37.210984 'PWD\r\n' 20:54:37.211079 Received DATA (on stdin) 20:54:37.211091 > 30 bytes data, server => client 20:54:37.211101 '257 "/" is current directory\r\n' 20:54:37.211883 < 6 bytes data, client => server 20:54:37.211900 'EPSV\r\n' 20:54:37.213809 Received DATA (on stdin) 20:54:37.213821 > 38 bytes data, server => client 20:54:37.213832 '229 Entering Passive Mode (|||39363|)\n' 20:54:37.214006 < 8 bytes data, client => server 20:54:37.214017 'TYPE I\r\n' 20:54:37.214163 Received DATA (on stdin) 20:54:37.214173 > 33 bytes data, server => client 20:54:37.214183 '200 I modify TYPE as you wanted\r\n' 20:54:37.214226 < 21 bytes data, client => server 20:54:37.214236 'SIZE verifiedserver\r\n' 20:54:37.214326 Received DATA (on stdin) 20:54:37.214336 > 8 bytes data, server => client 20:54:37.214345 '213 18\r\n' 20:54:37.214384 < 21 bytes data, client => server 20:54:37.214394 'RETR verifiedserver\r\n' 20:54:37.214564 Received DATA (on stdin) 20:54:37.214574 > 29 bytes data, server => client 20:54:37.214584 '150 Binary junk (18 bytes).\r\n' 20:54:37.215040 Received DATA (on stdin) 20:54:37.215052 > 28 bytes data, server => client 20:54:37.215063 '226 File transfer complete\r\n' 20:54:37.257067 < 6 bytes data, client => server 20:54:37.257090 'QUIT\r\n' 20:54:37.257436 Received DATA (on stdin) 20:54:37.257450 > 18 bytes data, server => client 20:54:37.257460 '221 bye bye baby\r\n' 20:54:37.258974 ====> Client disconnect 20:54:37.259116 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:36.213403 Running IPv4 version 20:54:36.213451 Listening on port 39363 20:54:36.213482 Wrote pid 117403 to log/14/server/ftp_sockdata.pid 20:54:36.213615 Received PING (on stdin) 20:54:36.213685 Received PORT (on stdin) 20:54:36.213980 ====> Client connect 20:54:36.214606 Received DATA (on stdin) 20:54:36.214617 > 18 bytes data, server => client 20:54:36.214627 'WE ROOLZ: 110708\r\n' 20:54:36.214648 Received DISC (on stdin) 20:54:36.214658 ====> Client forcibly disconnected 20:54:36.214792 Received QUIT (on stdin) 20:54:36.214804 quits 20:54:36.214858 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==117632== ==117632== Process terminating with default action of signal 4 (SIGILL) ==117632== Illegal opcode at address 0x4003082 ==117632== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117632== by 0x4003082: main (tool_main.c:243) === End of file valgrind210 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/16/valgrind216 ../src/curl -q --output log/16/curl216.out --include --trace-ascii log/16/trace216 --trace-config all --trace-time -T log/16/upload.216 ftp://127.0.0.1:35865/a/path/216/ -T log/16/upload.216 ftp://127.0.0.1:35865/a/path/216/%2e%2eanotherup.216 > log/16/stdout216 2> log/16/stderr216 216: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind216 ../src/curl -q --output log/16/curl216.out --include --trace-ascii log/16/trace216 --trace-config all --trace-time -T log/16/upload.216 ftp://127.0.0.1:35865/a/path/216/ -T log/16/upload.216 ftp://127.0.0.1:35865/a/path/216/%2e%2eanotherup.216 > log/16/stdout216 2> log/16/stderr216 === End of file commands.log === Start of file ftp_server.log 20:54:37.290573 ====> Client connect 20:54:37.290703 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.290952 < "USER anonymous" 20:54:37.290986 > "331 We are happy you popped in![CR][LF]" 20:54:37.291268 < "PASS ftp@example.com" 20:54:37.291310 > "230 Welcome you silly person[CR][LF]" 20:54:37.291454 < "PWD" 20:54:37.291482 > "257 "/" is current directory[CR][LF]" 20:54:37.291669 < "EPSV" 20:54:37.291700 ====> Passive DATA channel requested by client 20:54:37.291714 DATA sockfilt for passive data channel starting... 20:54:37.293417 DATA sockfilt for passive data channel started (pid 117949) 20:54:37.293523 DATA sockfilt for passive data channel listens on port 34855 20:54:37.293560 > "229 Entering Passive Mode (|||34855|)[LF]" 20:54:37.293576 Client has been notified that DATA conn will be accepted on port 34855 20:54:37.293967 Client connects to port 34855 20:54:37.293996 ====> Client established passive DATA connection on port 34855 20:54:37.294063 < "TYPE I" 20:54:37.294090 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.294256 < "SIZE verifiedserver" 20:54:37.294289 > "213 18[CR][LF]" 20:54:37.294441 < "RETR verifiedserver" 20:54:37.294471 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.294539 =====> Closing passive DATA connection... 20:54:37.294555 Server disconnects passive DATA connection 20:54:37.294775 Server disconnected passive DATA connection 20:54: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/24/valgrind220 ../src/curl -q --output log/24/curl220.out --include --trace-ascii log/24/trace220 --trace-config all --trace-time http://127.0.0.1:45957/220 --compressed > log/24/stdout220 2> log/24/stderr220 CMD (33792): ../libtool --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/valgrind212 ../src/curl -q --output log/12/curl212.out --include --trace-ascii log/12/trace212 --trace-config all --trace-time ftp://127.0.0.1:38967/a/path/212 ftp://127.0.0.1:38967/a/path/212 -P - > log/12/stdout212 2> log/12/stderr212 7.294802 DATA sockfilt for passive data channel quits (pid 117949) 20:54:37.294996 DATA sockfilt for passive data channel quit (pid 117949) 20:54:37.295019 =====> Closed passive DATA connection 20:54:37.295045 > "226 File transfer complete[CR][LF]" 20:54:37.335664 < "QUIT" 20:54:37.335713 > "221 bye bye baby[CR][LF]" 20:54:37.336702 MAIN sockfilt said DISC 20:54:37.336762 ====> Client disconnected 20:54:37.336836 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.511988 ====> Client connect 20:54:37.512222 Received DATA (on stdin) 20:54:37.512234 > 160 bytes data, server => client 20:54:37.512244 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.512252 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.512259 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.512323 < 16 bytes data, client => server 20:54:37.512337 'USER anonymous\r\n' 20:54:37.512532 Received DATA (on stdin) 20:54:37.512552 > 33 bytes data, server => client 20:54:37.512564 '331 We are happy you popped in!\r\n' 20:54:37.512649 < 22 bytes data, client => server 20:54:37.512661 'PASS ftp@example.com\r\n' 20:54:37.512826 Received DATA (on stdin) 20:54:37.512837 > 30 bytes data, server => client 20:54:37.512848 '230 Welcome you silly person\r\n' 20:54:37.512891 < 5 bytes data, client => server 20:54:37.512902 'PWD\r\n' 20:54:37.512994 Received DATA (on stdin) 20:54:37.513004 > 30 bytes data, server => client 20:54:37.513014 '257 "/" is current directory\r\n' 20:54:37.513066 < 6 bytes data, client => server 20:54:37.513081 'EPSV\r\n' 20:54:37.515096 Received DATA (on stdin) 20:54:37.515111 > 38 bytes data, server => client 20:54:37.515123 '229 Entering Passive Mode (|||34855|)\n' 20:54:37.515414 < 8 bytes data, client => server 20:54:37.515431 'TYPE I\r\n' 20:54:37.515603 Received DATA (on stdin) 20:54:37.515615 > 33 bytes data, server => client 20:54:37.515626 '200 I modify TYPE as you wanted\r\n' 20:54:37.515685 < 21 bytes data, client => server 20:54:37.515698 'SIZE verifiedserver\r\n' 20:54:37.515804 Received DATA (on stdin) 20:54:37.515815 > 8 bytes data, server => client 20:54:37.515825 '213 18\r\n' 20:54:37.515874 < 21 bytes data, client => server 20:54:37.515886 'RETR verifiedserver\r\n' 20:54:37.516070 Received DATA (on stdin) 20:54:37.516082 > 29 bytes data, server => client 20:54:37.516093 '150 Binary junk (18 bytes).\r\n' 20:54:37.516560 Received DATA (on stdin) 20:54:37.516573 > 28 bytes data, server => client 20:54:37.516584 '226 File transfer complete\r\n' 20:54:37.557032 < 6 bytes data, client => server 20:54:37.557052 'QUIT\r\n' 20:54:37.557229 Received DATA (on stdin) 20:54:37.557240 > 18 bytes data, server => client 20:54:37.557250 '221 bye bye baby\r\n' 20:54:37.558133 ====> Client disconnect 20:54:37.558358 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.514713 Running IPv4 version 20:54:37.514768 Listening on port 34855 20:54:37.514805 Wrote pid 117949 to log/16/server/ftp_sockdata.pid 20:54:37.514877 Received PING (on stdin) 20:54:37.514956 Received PORT (on stdin) 20:54:37.515245 ====> Client connect 20:54:37.516121 Received DATA (on stdin) 20:54:37.516136 > 18 bytes data, server => client 20:54:37.516146 'WE ROOLZ: 110697\r\n' 20:54:37.516168 Received DISC (on stdin) 20:54:37.516179 ====> Client forcibly disconnected 20:54:37.516322 Received QUIT (on stdin) 20:54:37.516334 quits 20:54:37.516386 ============> 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 ==118148== ==118148== Process terminating with default action of signal 4 (SIGILL) ==118148== Illegal opcode at address 0x4003082 ==118148== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118148== by 0x4003082: main (tool_main.c:243) === End of file valgrind216 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/24/valgrind220 ../src/curl -q --output log/24/curl220.out --include --trace-ascii log/24/trace220 --trace-config all --trace-time http://127.0.0.1:45957/220 --compressed > log/24/stdout220 2> log/24/stderr220 220: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 220 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind220 ../src/curl -q --output log/24/curl220.out --include --trace-ascii log/24/trace220 --trace-config all --trace-time http://127.0.0.1:45957/220 --compressed > log/24/stdout220 2> log/24/stderr220 === End of file commands.log === Start of file http_server.log 20:54:37.582586 ====> Client connect 20:54:37.582645 accept_connection 3 returned 4 20:54:37.582661 accept_connection 3 returned 0 20:54:37.582675 Read 93 bytes 20:54:37.582684 Process 93 bytes request 20:54:37.582697 Got request: GET /verifiedserver HTTP/1.1 20:54:37.582706 Are-we-friendly question received 20:54:37.582727 Wrote request (93 bytes) input to log/24/server.input 20:54:37.582742 Identifying ourselves as friends 20:54:37.582789 Response sent (57 bytes) and written to log/24/server.response 20:54:37.582798 special request received, no persistency 20:54:37.582807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind220 ==118238== ==118238== Process terminating with default action of signal 4 (SIGILL) ==118238== Illegal opcode at address 0x4003082 ==118238== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118238== by 0x4003082: main (tool_main.c:243) === End of file valgrind220 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/12/valgrind212 ../src/curl -q --output log/12/curl212.out --include --trace-ascii log/12/trace212 --trace-config all --trace-time ftp://127.0.0.1:38967/a/path/212 ftp://127.0.0.1:38967/a/path/212 -P - > log/12/stdout212 2> log/12/stderr212 212: 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 212 === Start of file commands.log ../libtool --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/valgrind212 ../src/curl -q --output log/12/curl212.out --include --trace-ascii log/12/trace212 --trace-config all --trace-time ftp://127.0.0.1:38967/a/path/212 ftp://127.0.0.1:38967/a/path/212 -P - > log/12/stdout212 2> log/12/stderr212 === End of file commands.log === Start of file ftp_server.log 20:54:37.206589 ====> Client connect 20:54:37.206709 > "220- _ _ ____ _ [CR][LF]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/22/valgrind211 ../src/curl -q --output log/22/curl211.out --include --trace-ascii log/22/trace211 --trace-config all --trace-time ftp://127.0.0.1:38423/a/path/211 ftp://127.0.0.1:38423/a/path/211 > log/22/stdout211 2> log/22/stderr211 | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.206919 < "USER anonymous" 20:54:37.206953 > "331 We are happy you popped in![CR][LF]" 20:54:37.207105 < "PASS ftp@example.com" 20:54:37.207132 > "230 Welcome you silly person[CR][LF]" 20:54:37.207261 < "PWD" 20:54:37.207291 > "257 "/" is current directory[CR][LF]" 20:54:37.207639 < "EPSV" 20:54:37.207663 ====> Passive DATA channel requested by client 20:54:37.207676 DATA sockfilt for passive data channel starting... 20:54:37.209348 DATA sockfilt for passive data channel started (pid 117725) 20:54:37.209468 DATA sockfilt for passive data channel listens on port 40609 20:54:37.209508 > "229 Entering Passive Mode (|||40609|)[LF]" 20:54:37.209525 Client has been notified that DATA conn will be accepted on port 40609 20:54:37.209748 Client connects to port 40609 20:54:37.209777 ====> Client established passive DATA connection on port 40609 20:54:37.209840 < "TYPE I" 20:54:37.209868 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.210032 < "SIZE verifiedserver" 20:54:37.210064 > "213 18[CR][LF]" 20:54:37.210201 < "RETR verifiedserver" 20:54:37.210232 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.210298 =====> Closing passive DATA connection... 20:54:37.210312 Server disconnects passive DATA connection 20:54:37.210518 Server disconnected passive DATA connection 20:54:37.210543 DATA sockfilt for passive data channel quits (pid 117725) 20:54:37.210730 DATA sockfilt for passive data channel quit (pid 117725) 20:54:37.210753 =====> Closed passive DATA connection 20:54:37.210777 > "226 File transfer complete[CR][LF]" 20:54:37.255697 < "QUIT" 20:54:37.255743 > "221 bye bye baby[CR][LF]" 20:54:37.256084 MAIN sockfilt said DISC 20:54:37.256128 ====> Client disconnected 20:54:37.256201 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.428022 ====> Client connect 20:54:37.428226 Received DATA (on stdin) 20:54:37.428236 > 160 bytes data, server => client 20:54:37.428245 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.428253 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.428260 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.428309 < 16 bytes data, client => server 20:54:37.428318 'USER anonymous\r\n' 20:54:37.428469 Received DATA (on stdin) 20:54:37.428480 > 33 bytes data, server => client 20:54:37.428490 '331 We are happy you popped in!\r\n' 20:54:37.428537 < 22 bytes data, client => server 20:54:37.428548 'PASS ftp@example.com\r\n' 20:54:37.428646 Received DATA (on stdin) 20:54:37.428657 > 30 bytes data, server => client 20:54:37.428667 '230 Welcome you silly person\r\n' 20:54:37.428710 < 5 bytes data, client => server 20:54:37.428720 'PWD\r\n' 20:54:37.428788 Received DATA (on stdin) 20:54:37.428808 > 30 bytes data, server => client 20:54:37.428819 '257 "/" is current directory\r\n' 20:54:37.429039 < 6 bytes data, client => server 20:54:37.429054 'EPSV\r\n' 20:54:37.431007 Received DATA (on stdin) 20:54:37.431039 > 38 bytes data, server => client 20:54:37.431051 '229 Entering Passive Mode (|||40609|)\n' 20:54:37.431219 < 8 bytes data, client => server 20:54:37.431234 'TYPE I\r\n' 20:54:37.431385 Received DATA (on stdin) 20:54:37.431400 > 33 bytes data, server => client 20:54:37.431411 '200 I modify TYPE as you wanted\r\n' 20:54:37.431468 < 21 bytes data, client => server 20:54:37.431480 'SIZE verifiedserver\r\n' 20:54:37.431577 Received DATA (on stdin) 20:54:37.431588 > 8 bytes data, server => client 20:54:37.431597 '213 18\r\n' 20:54:37.431639 < 21 bytes data, client => server 20:54:37.431650 'RETR verifiedserver\r\n' 20:54:37.431825 Received DATA (on stdin) 20:54:37.431837 > 29 bytes data, server => client 20:54:37.431846 '150 Binary junk (18 bytes).\r\n' 20:54:37.432290 Received DATA (on stdin) 20:54:37.432302 > 28 bytes data, server => client 20:54:37.432312 '226 File transfer complete\r\n' 20:54:37.477059 < 6 bytes data, client => server 20:54:37.477082 'QUIT\r\n' 20:54:37.477260 Received DATA (on stdin) 20:54:37.477271 > 18 bytes data, server => client 20:54:37.477281 '221 bye bye baby\r\n' 20:54:37.477531 ====> Client disconnect 20:54:37.477719 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.430683 Running IPv4 version 20:54:37.430733 Listening on port 40609 20:54:37.430770 Wrote pid 117725 to log/12/server/ftp_sockdata.pid 20:54:37.430790 Received PING (on stdin) 20:54:37.430895 Received PORT (on stdin) 20:54:37.431210 ====> Client connect 20:54:37.431870 Received DATA (on stdin) 20:54:37.431882 > 18 bytes data, server => client 20:54:37.431892 'WE ROOLZ: 110628\r\n' 20:54:37.431915 Received DISC (on stdin) 20:54:37.431925 ====> Client forcibly disconnected 20:54:37.432061 Received QUIT (on stdin) 20:54:37.432072 quits 20:54:37.432122 ============> 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 ==117825== ==117825== Process terminating with default action of signal 4 (SIGILL) ==117825== Illegal opcode at address 0x4003082 ==117825== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117825== by 0x4003082: main (tool_main.c:243) === End of file valgrind212 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/22/valgrind211 ../src/curl -q --output log/22/curl211.out --include --trace-ascii log/22/trace211 --trace-config all --trace-time ftp://127.0.0.1:38423/a/path/211 ftp://127.0.0.1:38423/a/path/211 > log/22/stdout211 2> log/22/stderr211 211: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind211 ../src/curl -q --output log/22/curl211.out --include --trace-ascii log/22/trace211 --trace-config all --trace-time ftp://127.0.0.1:38423/a/path/211 ftp://127.0.0.1:38423/a/path/211 > log/22/stdout211 2> log/22/stderr211 === End of file commands.log === Start of file ftp_server.log 20:54:37.193031 ====> Client connect 20:54:37.193176 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.193431 < "USER anonymous" 20:54:37.193462 > "331 We are happy you popped in![CR][LF]" 20:54:37.193607 < "PASS ftp@example.com" 20:54:37.193630 > "230 Welcome you silly person[CR][LF]" 20:54:37.193758 < "PWD" 20:54:37.193784 > "257 "/" is current directory[CR][LF]" 20:54:37.193917 < "EPSV" 20:54:37.193937 ====> Passive DATA channel requested by client 20:54:37.193949 DATA sockfilt for passive data channel starting... 20:54:37.195500 DATA sockfilt for passive data channel started (pid 117709) 20:54:37.195597 DATA sockfilt for passive data channel listens on port 45013 20:54:37.195631 > "229 Entering Passive Mode (|||45013|)[LF]" 20:54:37.195649 Client has been notified that DATA conn will be accepted on port 45013 20:54:37.196099 Client connects to port 45013 20:54:37.196160 ====> Client established passive DATA connection on port 45013 20:54:37.196267 < "TYPE I" 20:54:37.196306 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.196547 < "SIZE verifiedserver" 20:54:37.196580 > "213 18[CR][LF]" 20:54:37.196804 < "RETR verifiedserver" 20:54:37.197140 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.197230 =====> Closing passive DATA connection... 20:54:37.197245 Server disconnects passive DATA connection 20:54:37.197512 Server disconnected passive DATA connection 20:54:37.197537 DATA sockfilt for passive CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind213 ../src/curl -q --output log/19/curl213.out --include --trace-ascii log/19/trace213 --trace-config all --trace-time http://test.remote.example.com.213:46549/path/2130002 --proxy1.0 http://127.0.0.1:46549 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/19/stdout213 2> log/19/stderr213 CMD (33792): ../libtool --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/valgrind214 ../src/curl -q --output log/7/curl214.out --include --trace-ascii log/7/trace214 --trace-config all --trace-time "http://127.0.0.1:39141/\{\}\/214" > log/7/stdout214 2> log/7/stderr214 data channel quits (pid 117709) 20:54:37.197769 DATA sockfilt for passive data channel quit (pid 117709) 20:54:37.197795 =====> Closed passive DATA connection 20:54:37.197821 > "226 File transfer complete[CR][LF]" 20:54:37.239297 < "QUIT" 20:54:37.239353 > "221 bye bye baby[CR][LF]" 20:54:37.239860 MAIN sockfilt said DISC 20:54:37.239918 ====> Client disconnected 20:54:37.239982 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.414423 ====> Client connect 20:54:37.414698 Received DATA (on stdin) 20:54:37.414711 > 160 bytes data, server => client 20:54:37.414722 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.414733 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.414742 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.414812 < 16 bytes data, client => server 20:54:37.414823 'USER anonymous\r\n' 20:54:37.414977 Received DATA (on stdin) 20:54:37.414989 > 33 bytes data, server => client 20:54:37.415000 '331 We are happy you popped in!\r\n' 20:54:37.415043 < 22 bytes data, client => server 20:54:37.415053 'PASS ftp@example.com\r\n' 20:54:37.415141 Received DATA (on stdin) 20:54:37.415151 > 30 bytes data, server => client 20:54:37.415162 '230 Welcome you silly person\r\n' 20:54:37.415201 < 5 bytes data, client => server 20:54:37.415211 'PWD\r\n' 20:54:37.415295 Received DATA (on stdin) 20:54:37.415305 > 30 bytes data, server => client 20:54:37.415316 '257 "/" is current directory\r\n' 20:54:37.415362 < 6 bytes data, client => server 20:54:37.415372 'EPSV\r\n' 20:54:37.417165 Received DATA (on stdin) 20:54:37.417177 > 38 bytes data, server => client 20:54:37.417188 '229 Entering Passive Mode (|||45013|)\n' 20:54:37.417291 < 8 bytes data, client => server 20:54:37.417304 'TYPE I\r\n' 20:54:37.417862 Received DATA (on stdin) 20:54:37.417881 > 33 bytes data, server => client 20:54:37.417893 '200 I modify TYPE as you wanted\r\n' 20:54:37.417981 < 21 bytes data, client => server 20:54:37.417994 'SIZE verifiedserver\r\n' 20:54:37.418122 Received DATA (on stdin) 20:54:37.418132 > 8 bytes data, server => client 20:54:37.418142 '213 18\r\n' 20:54:37.418188 < 21 bytes data, client => server 20:54:37.418247 'RETR verifiedserver\r\n' 20:54:37.418555 Received DATA (on stdin) 20:54:37.418571 > 29 bytes data, server => client 20:54:37.418582 '150 Binary junk (18 bytes).\r\n' 20:54:37.419335 Received DATA (on stdin) 20:54:37.419348 > 28 bytes data, server => client 20:54:37.419358 '226 File transfer complete\r\n' 20:54:37.460654 < 6 bytes data, client => server 20:54:37.460678 'QUIT\r\n' 20:54:37.460872 Received DATA (on stdin) 20:54:37.460884 > 18 bytes data, server => client 20:54:37.460895 '221 bye bye baby\r\n' 20:54:37.461306 ====> Client disconnect 20:54:37.461499 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.416847 Running IPv4 version 20:54:37.416911 Listening on port 45013 20:54:37.416944 Wrote pid 117709 to log/22/server/ftp_sockdata.pid 20:54:37.416960 Received PING (on stdin) 20:54:37.417035 Received PORT (on stdin) 20:54:37.417292 ====> Client connect 20:54:37.418771 Received DATA (on stdin) 20:54:37.418790 > 18 bytes data, server => client 20:54:37.418801 'WE ROOLZ: 110696\r\n' 20:54:37.418832 Received DISC (on stdin) 20:54:37.418928 ====> Client forcibly disconnected 20:54:37.419055 Received QUIT (on stdin) 20:54:37.419067 quits 20:54:37.419118 ============> 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 ==117765== ==117765== Process terminating with default action of signal 4 (SIGILL) ==117765== Illegal opcode at address 0x4003082 ==117765== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117765== by 0x4003082: main (tool_main.c:243) === End of file valgrind211 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/19/valgrind213 ../src/curl -q --output log/19/curl213.out --include --trace-ascii log/19/trace213 --trace-config all --trace-time http://test.remote.example.com.213:46549/path/2130002 --proxy1.0 http://127.0.0.1:46549 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/19/stdout213 2> log/19/stderr213 213: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind213 ../src/curl -q --output log/19/curl213.out --include --trace-ascii log/19/trace213 --trace-config all --trace-time http://test.remote.example.com.213:46549/path/2130002 --proxy1.0 http://127.0.0.1:46549 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/19/stdout213 2> log/19/stderr213 === End of file commands.log === Start of file http_server.log 20:54:37.440126 ====> Client connect 20:54:37.440150 accept_connection 3 returned 4 20:54:37.440163 accept_connection 3 returned 0 20:54:37.440174 Read 93 bytes 20:54:37.440181 Process 93 bytes request 20:54:37.440202 Got request: GET /verifiedserver HTTP/1.1 20:54:37.440210 Are-we-friendly question received 20:54:37.440231 Wrote request (93 bytes) input to log/19/server.input 20:54:37.440247 Identifying ourselves as friends 20:54:37.440327 Response sent (57 bytes) and written to log/19/server.response 20:54:37.440339 special request received, no persistency 20:54:37.440348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === End of file http_verify.out === Start of file server.cmd Testnum 213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind213 ==117736== ==117736== Process terminating with default action of signal 4 (SIGILL) ==117736== Illegal opcode at address 0x4003082 ==117736== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117736== by 0x4003082: main (tool_main.c:243) === 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/7/valgrind214 ../src/curl -q --output log/7/curl214.out --include --trace-ascii log/7/trace214 --trace-config all --trace-time "http://127.0.0.1:39141/\{\}\/214" > log/7/stdout214 2> log/7/stderr214 214: 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 214 === Start of file commands.log ../libtool --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/valgrind214 ../src/curl -q --output log/7/curl214.out --include --trace-ascii log/7/trace214 --trace-config all --trace-time "http://127.0.0.1:39141/\{\}\/214" > log/7/stdout214 2> log/7/stderr214 === End of file commands.log === Start of file http_server.log 20:54:37.480031 ====> Client connect 20:54:37.480060 accept_connection 3 returned 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/13/valgrind219 ../src/curl -q --output log/13/curl219.out --include --trace-ascii log/13/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/13/stdout219 2> log/13/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/6/valgrind217 ../src/curl -q --include --trace-ascii log/6/trace217 --trace-config all --trace-time http://test.remote.example.com.217:38475/path/2170002 --proxy http://127.0.0.1:38475 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/6/stdout217 2> log/6/stderr217 20:54:37.480078 accept_connection 3 returned 0 20:54:37.480091 Read 93 bytes 20:54:37.480101 Process 93 bytes request 20:54:37.480113 Got request: GET /verifiedserver HTTP/1.1 20:54:37.480123 Are-we-friendly question received 20:54:37.480146 Wrote request (93 bytes) input to log/7/server.input 20:54:37.480161 Identifying ourselves as friends 20:54:37.480247 Response sent (57 bytes) and written to log/7/server.response 20:54:37.480258 special request received, no persistency 20:54:37.480266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind214 ==117823== ==117823== Process terminating with default action of signal 4 (SIGILL) ==117823== Illegal opcode at address 0x4003082 ==117823== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117823== by 0x4003082: main (tool_main.c:243) === End of file valgrind214 * 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/13/valgrind219 ../src/curl -q --output log/13/curl219.out --include --trace-ascii log/13/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/13/stdout219 2> log/13/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/13/ dir after test 219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind219 ../src/curl -q --output log/13/curl219.out --include --trace-ascii log/13/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/13/stdout219 2> log/13/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==117978== ==117978== Process terminating with default action of signal 4 (SIGILL) ==117978== Illegal opcode at address 0x4003082 ==117978== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117978== by 0x4003082: main (tool_main.c:243) === End of file valgrind219 CMD (33792): ../libtool --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/valgrind215 ../src/curl -q --output log/10/curl215.out --include --trace-ascii log/10/trace215 --trace-config all --trace-time ftp://127.0.0.1:41053/a/path/215/ ftp://127.0.0.1:41053/a/path/215/ > log/10/stdout215 2> log/10/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/2/valgrind218 ../src/curl -q --output log/2/curl218.out --include --trace-ascii log/2/trace218 --trace-config all --trace-time -T log/2/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:43815/218 > log/2/stdout218 2> log/2/stderr218 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/6/valgrind217 ../src/curl -q --include --trace-ascii log/6/trace217 --trace-config all --trace-time http://test.remote.example.com.217:38475/path/2170002 --proxy http://127.0.0.1:38475 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/6/stdout217 2> log/6/stderr217 217: stdout FAILED: --- log/6/check-expected 2025-06-04 20:54:37.919698136 +0000 +++ log/6/check-generated 2025-06-04 20:54:37.919698136 +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/6/ 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 commands.log ../libtool --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/valgrind217 ../src/curl -q --include --trace-ascii log/6/trace217 --trace-config all --trace-time http://test.remote.example.com.217:38475/path/2170002 --proxy http://127.0.0.1:38475 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/6/stdout217 2> log/6/stderr217 === End of file commands.log === Start of file http_server.log 20:54:37.513700 ====> Client connect 20:54:37.513725 accept_connection 3 returned 4 20:54:37.513739 accept_connection 3 returned 0 20:54:37.513749 Read 93 bytes 20:54:37.513757 Process 93 bytes request 20:54:37.513768 Got request: GET /verifiedserver HTTP/1.1 20:54:37.513775 Are-we-friendly question received 20:54:37.513799 Wrote request (93 bytes) input to log/6/server.input 20:54:37.513811 Identifying ourselves as friends 20:54:37.513849 Response sent (57 bytes) and written to log/6/server.response 20:54:37.513856 special request received, no persistency 20:54:37.513863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind217 ==117995== ==117995== Process terminating with default action of signal 4 (SIGILL) ==117995== Illegal opcode at address 0x4003082 ==117995== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==117995== by 0x4003082: main (tool_main.c:243) === End of file valgrind217 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/10/valgrind215 ../src/curl -q --output log/10/curl215.out --include --trace-ascii log/10/trace215 --trace-config all --trace-time ftp://127.0.0.1:41053/a/path/215/ ftp://127.0.0.1:41053/a/path/215/ > log/10/stdout215 2> log/10/stderr215 215: 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 215 === Start of file commands.log ../libtool --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/valgrind215 ../src/curl -q --output log/10/curl215.out --include --trace-ascii log/10/trace215 --trace-config all --trace-time ftp://127.0.0.1:41053/a/path/215/ ftp://127.0.0.1:41053/a/path/215/ > log/10/stdout215 2> log/10/stderr215 === End of file commands.log === Start of file ftp_server.log 20:54:37.281846 ====> Client connect 20:54:37.281978 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.282235 < "USER anonymous" 20:54:37.282264 > "331 We are happy you popped in![CR][LF]" 20:54:37.282413 < "PASS ftp@example.com" 20:54:37.282436 > "230 Welcome you silly person[CR][LF]" 20:54:37.282569 < "PWD" 20:54:37.282596 > "257 "/" is current directory[CR][LF]" 20:54:37.282731 < "EPSV" 20:54:37.282751 ====> Passive DATA channel requested by client 20:54:37.282763 DATA sockfilt for passive data channel starting... 20:54:37.284979 DATA sockfilt for passive data channel started (pid 117903) 20:54:37.285082 DATA sockfilt for passive data channel listens on port 35739 20:54:37.285121 > "229 Entering Passive Mode (|||35739|)[LF]" 20:54:37.285139 Client has been notified that DATA conn will be accepted on port 35739 20:54:37.285330 Client connects to port 35739 20:54:37.285368 ====> Client established passive DATA connection on port 35739 20:54:37.285475 < "TYPE I" 20:54:37.285536 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.285696 < "SIZE verifiedserver" 20:54:37.285731 > "213 18[CR][LF]" 20:54:37.285880 < "RETR verifiedserver" 20:54:37.285912 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.286127 =====> Closing passive DATA connection... 20:54:37.286144 Server disconnects passive DATA connection 20:54:37.286249 Server disconnected passive DATA connection 20:54:37.286278 DATA sockfilt for passive data channel quits (pid 117903) 20:54:37.286660 DATA sockfilt for passive data channel quit (pid 117903) 20:54:37.286701 =====> Closed passive DATA connection 20:54:37.286736 > "226 File transfer complete[CR][LF]" 20:54:37.332459 < "QUIT" 20:54:37.332555 > "221 bye bye baby[CR][LF]" 20:54:37.332840 MAIN sockfilt said DISC 20:54:37.332892 ====> Client disconnected 20:54:37.332956 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:36.503267 ====> Client connect 20:54:36.503502 Received DATA (on stdin) 20:54:36.503515 > 160 bytes data, server => client 20:54:36.503535 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:36.503546 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:36.503556 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:36.503622 < 16 bytes data, client => server 20:54:36.503634 'USER anonymous\r\n' 20:54:36.503779 Received DATA (on stdin) 20:54:36.503792 > 33 bytes data, server => client 20:54:36.503803 '331 We are happy you popped in!\r\n' 20:54:36.503847 < 22 bytes data, client => server 20:54:36.503858 'PASS ftp@example.com\r\n' 20:54:36.503948 Received DATA (on stdin) 20:54:36.503959 > 30 bytes data, server => client 20:54:36.503971 '230 Welcome you silly person\r\n' 20:54:36.504010 < 5 bytes data, client => server 20:54:36.504021 'PWD\r\n' 20:54:36.504107 Received DATA (on stdin) 20:54:36.504117 > 30 bytes data, server => client 20:54:36.504128 '257 "/" is current directory\r\n' 20:54:36.504175 < 6 bytes data, client => server 20:54:36.504185 'EPSV\r\n' 20:54:36.506661 Received DATA (on stdin) 20:54:36.506675 > 38 bytes data, server => client 20:54:36.506686 '229 Entering Passive Mode (|||35739|)\n' 20:54:36.506895 < 8 bytes data, client => server 20:54:36.506907 'TYPE I\r\n' 20:54:36.507052 Received DATA (on stdin) 20:54:36.507064 > 33 bytes data, server => client 20:54:36.507075 '200 I modify TYPE as you wanted\r\n' 20:54:36.507124 < 21 bytes data, client => server 20:54:36.507136 'SIZE verifiedserver\r\n' 20:54:36.507246 Received DATA (on stdin) 20:54:36.507258 > 8 bytes data, server => client 20:54:36.507268 '213 18\r\n' 20:54:36.507315 < 21 bytes data, client => server 20:54:36.507326 'RETR verifiedservCMD (33792): ../libtool --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/valgrind221 ../src/curl -q --output log/11/curl221.out --include --trace-ascii log/11/trace221 --trace-config all --trace-time http://127.0.0.1:44265/221 --compressed > log/11/stdout221 2> log/11/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/3/valgrind222 ../src/curl -q --output log/3/curl222.out --include --trace-ascii log/3/trace222 --trace-config all --trace-time http://127.0.0.1:33171/222 --compressed > log/3/stdout222 2> log/3/stderr222 er\r\n' 20:54:36.507439 Received DATA (on stdin) 20:54:36.507450 > 29 bytes data, server => client 20:54:36.507461 '150 Binary junk (18 bytes).\r\n' 20:54:36.508262 Received DATA (on stdin) 20:54:36.508281 > 28 bytes data, server => client 20:54:36.508292 '226 File transfer complete\r\n' 20:54:36.553797 < 6 bytes data, client => server 20:54:36.553832 'QUIT\r\n' 20:54:36.554011 Received DATA (on stdin) 20:54:36.554026 > 18 bytes data, server => client 20:54:36.554074 '221 bye bye baby\r\n' 20:54:36.554284 ====> Client disconnect 20:54:36.554469 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.506224 Running IPv4 version 20:54:37.506277 Listening on port 35739 20:54:37.506315 Wrote pid 117903 to log/10/server/ftp_sockdata.pid 20:54:37.506436 Received PING (on stdin) 20:54:37.506516 Received PORT (on stdin) 20:54:37.506794 ====> Client connect 20:54:37.507657 Received DATA (on stdin) 20:54:37.507669 > 18 bytes data, server => client 20:54:37.507680 'WE ROOLZ: 110827\r\n' 20:54:37.507704 Received DISC (on stdin) 20:54:37.507715 ====> Client forcibly disconnected 20:54:37.507811 Received QUIT (on stdin) 20:54:37.507824 quits 20:54:37.507873 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==118146== ==118146== Process terminating with default action of signal 4 (SIGILL) ==118146== Illegal opcode at address 0x4003082 ==118146== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118146== by 0x4003082: main (tool_main.c:243) === End of file valgrind215 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/2/valgrind218 ../src/curl -q --output log/2/curl218.out --include --trace-ascii log/2/trace218 --trace-config all --trace-time -T log/2/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:43815/218 > log/2/stdout218 2> log/2/stderr218 218: 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 218 === Start of file commands.log ../libtool --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/valgrind218 ../src/curl -q --output log/2/curl218.out --include --trace-ascii log/2/trace218 --trace-config all --trace-time -T log/2/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:43815/218 > log/2/stdout218 2> log/2/stderr218 === End of file commands.log === Start of file file218 just some tiny teeny contents === End of file file218 === Start of file http_server.log 20:54:37.527795 ====> Client connect 20:54:37.527828 accept_connection 3 returned 4 20:54:37.527845 accept_connection 3 returned 0 20:54:37.527863 Read 93 bytes 20:54:37.527873 Process 93 bytes request 20:54:37.527887 Got request: GET /verifiedserver HTTP/1.1 20:54:37.527896 Are-we-friendly question received 20:54:37.527917 Wrote request (93 bytes) input to log/2/server.input 20:54:37.527934 Identifying ourselves as friends 20:54:37.527986 Response sent (57 bytes) and written to log/2/server.response 20:54:37.527995 special request received, no persistency 20:54:37.528004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind218 ==118051== ==118051== Process terminating with default action of signal 4 (SIGILL) ==118051== Illegal opcode at address 0x4003082 ==118051== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118051== by 0x4003082: main (tool_main.c:243) === End of file valgrind218 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/11/valgrind221 ../src/curl -q --output log/11/curl221.out --include --trace-ascii log/11/trace221 --trace-config all --trace-time http://127.0.0.1:44265/221 --compressed > log/11/stdout221 2> log/11/stderr221 221: 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 221 === Start of file commands.log ../libtool --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/valgrind221 ../src/curl -q --output log/11/curl221.out --include --trace-ascii log/11/trace221 --trace-config all --trace-time http://127.0.0.1:44265/221 --compressed > log/11/stdout221 2> log/11/stderr221 === End of file commands.log === Start of file http_server.log 20:54:37.671255 ====> Client connect 20:54:37.671290 accept_connection 3 returned 4 20:54:37.671306 accept_connection 3 returned 0 20:54:37.671321 Read 93 bytes 20:54:37.671330 Process 93 bytes request 20:54:37.671343 Got request: GET /verifiedserver HTTP/1.1 20:54:37.671353 Are-we-friendly question received 20:54:37.671376 Wrote request (93 bytes) input to log/11/server.input 20:54:37.671401 Identifying ourselves as friends 20:54:37.671457 Response sent (57 bytes) and written to log/11/server.response 20:54:37.671763 special request received, no persistency 20:54:37.671779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind221 ==118392== ==118392== Process terminating with default action of signal 4 (SIGILL) ==118392== Illegal opcode at address 0x4003082 ==118392== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118392== by 0x4003082: main (tool_main.c:243) === End of file valgrind221 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/3/valgrind222 ../src/curl -q --output log/3/curl222.out --include --trace-ascii log/3/trace222 --trace-config all --trace-time http://127.0.0.1:33171/222 --compressed > log/3/stdout222 2> log/3/stderr222 222: 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 222 === Start of file commands.log ../libtool --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/valgrind2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind223 ../src/curl -q --output log/17/curl223.out --include --trace-ascii log/17/trace223 --trace-config all --trace-time http://127.0.0.1:35207/223 --compressed > log/17/stdout223 2> log/17/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/15/valgrind224 ../src/curl -q --output log/15/curl224.out --include --trace-ascii log/15/trace224 --trace-config all --trace-time http://127.0.0.1:39051/224 --compressed > log/15/stdout224 2> log/15/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/4/valgrind225 ../src/curl -q --output log/4/curl225.out --include --trace-ascii log/4/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:45117/225%0a > log/4/stdout225 2> log/4/stderr225 22 ../src/curl -q --output log/3/curl222.out --include --trace-ascii log/3/trace222 --trace-config all --trace-time http://127.0.0.1:33171/222 --compressed > log/3/stdout222 2> log/3/stderr222 === End of file commands.log === Start of file http_server.log 20:54:37.690433 ====> Client connect 20:54:37.690463 accept_connection 3 returned 4 20:54:37.690482 accept_connection 3 returned 0 20:54:37.690495 Read 93 bytes 20:54:37.690504 Process 93 bytes request 20:54:37.690517 Got request: GET /verifiedserver HTTP/1.1 20:54:37.690526 Are-we-friendly question received 20:54:37.690550 Wrote request (93 bytes) input to log/3/server.input 20:54:37.690565 Identifying ourselves as friends 20:54:37.690618 Response sent (57 bytes) and written to log/3/server.response 20:54:37.690628 special request received, no persistency 20:54:37.690636 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind222 ==118484== ==118484== Process terminating with default action of signal 4 (SIGILL) ==118484== Illegal opcode at address 0x4003082 ==118484== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118484== by 0x4003082: main (tool_main.c:243) === End of file valgrind222 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/17/valgrind223 ../src/curl -q --output log/17/curl223.out --include --trace-ascii log/17/trace223 --trace-config all --trace-time http://127.0.0.1:35207/223 --compressed > log/17/stdout223 2> log/17/stderr223 223: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 223 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind223 ../src/curl -q --output log/17/curl223.out --include --trace-ascii log/17/trace223 --trace-config all --trace-time http://127.0.0.1:35207/223 --compressed > log/17/stdout223 2> log/17/stderr223 === End of file commands.log === Start of file http_server.log 20:54:37.697451 ====> Client connect 20:54:37.697483 accept_connection 3 returned 4 20:54:37.697502 accept_connection 3 returned 0 20:54:37.697518 Read 93 bytes 20:54:37.697528 Process 93 bytes request 20:54:37.697539 Got request: GET /verifiedserver HTTP/1.1 20:54:37.697549 Are-we-friendly question received 20:54:37.697574 Wrote request (93 bytes) input to log/17/server.input 20:54:37.697590 Identifying ourselves as friends 20:54:37.697666 Response sent (57 bytes) and written to log/17/server.response 20:54:37.697676 special request received, no persistency 20:54:37.697685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind223 ==118462== ==118462== Process terminating with default action of signal 4 (SIGILL) ==118462== Illegal opcode at address 0x4003082 ==118462== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118462== by 0x4003082: main (tool_main.c:243) === End of file valgrind223 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/15/valgrind224 ../src/curl -q --output log/15/curl224.out --include --trace-ascii log/15/trace224 --trace-config all --trace-time http://127.0.0.1:39051/224 --compressed > log/15/stdout224 2> log/15/stderr224 224: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind224 ../src/curl -q --output log/15/curl224.out --include --trace-ascii log/15/trace224 --trace-config all --trace-time http://127.0.0.1:39051/224 --compressed > log/15/stdout224 2> log/15/stderr224 === End of file commands.log === Start of file http_server.log 20:54:37.701626 ====> Client connect 20:54:37.701661 accept_connection 3 returned 4 20:54:37.701678 accept_connection 3 returned 0 20:54:37.701691 Read 93 bytes 20:54:37.701701 Process 93 bytes request 20:54:37.701713 Got request: GET /verifiedserver HTTP/1.1 20:54:37.701722 Are-we-friendly question received 20:54:37.701755 Wrote request (93 bytes) input to log/15/server.input 20:54:37.701770 Identifying ourselves as friends 20:54:37.701831 Response sent (57 bytes) and written to log/15/server.response 20:54:37.701842 special request received, no persistency 20:54:37.701851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind224 ==118478== ==118478== Process terminating with default action of signal 4 (SIGILL) ==118478== Illegal opcode at address 0x4003082 ==118478== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118478== by 0x4003082: main (tool_main.c:243) === End of file valgrind224 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/4/valgrind225 ../src/curl -q --output log/4/curl225.out --include --trace-ascii log/4/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:45117/225%0a > log/4/stdout225 2> log/4/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/4/ dir after test 225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-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/9/valgrind227 ../src/curl -q --output log/9/curl227.out --include --trace-ascii log/9/trace227 --trace-config all --trace-time ftp://127.0.0.1:39489/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/9/stdout227 2> log/9/stderr227 ile=log/4/valgrind225 ../src/curl -q --output log/4/curl225.out --include --trace-ascii log/4/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:45117/225%0a > log/4/stdout225 2> log/4/stderr225 === End of file commands.log === Start of file ftp_server.log 20:54:37.486014 ====> Client connect 20:54:37.486161 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.486423 < "USER anonymous" 20:54:37.486461 > "331 We are happy you popped in![CR][LF]" 20:54:37.486637 < "PASS ftp@example.com" 20:54:37.486669 > "230 Welcome you silly person[CR][LF]" 20:54:37.486829 < "PWD" 20:54:37.486864 > "257 "/" is current directory[CR][LF]" 20:54:37.487008 < "EPSV" 20:54:37.487034 ====> Passive DATA channel requested by client 20:54:37.487047 DATA sockfilt for passive data channel starting... 20:54:37.488684 DATA sockfilt for passive data channel started (pid 118458) 20:54:37.489017 DATA sockfilt for passive data channel listens on port 44145 20:54:37.489061 > "229 Entering Passive Mode (|||44145|)[LF]" 20:54:37.489083 Client has been notified that DATA conn will be accepted on port 44145 20:54:37.489326 Client connects to port 44145 20:54:37.489355 ====> Client established passive DATA connection on port 44145 20:54:37.489437 < "TYPE I" 20:54:37.489498 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.489865 < "SIZE verifiedserver" 20:54:37.489930 > "213 18[CR][LF]" 20:54:37.490345 < "RETR verifiedserver" 20:54:37.490399 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.490480 =====> Closing passive DATA connection... 20:54:37.490495 Server disconnects passive DATA connection 20:54:37.490732 Server disconnected passive DATA connection 20:54:37.490765 DATA sockfilt for passive data channel quits (pid 118458) 20:54:37.491044 DATA sockfilt for passive data channel quit (pid 118458) 20:54:37.491225 =====> Closed passive DATA connection 20:54:37.491266 > "226 File transfer complete[CR][LF]" 20:54:37.532693 < "QUIT" 20:54:37.532753 > "221 bye bye baby[CR][LF]" 20:54:37.532954 MAIN sockfilt said DISC 20:54:37.533005 ====> Client disconnected 20:54:37.535611 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.707431 ====> Client connect 20:54:37.707672 Received DATA (on stdin) 20:54:37.707693 > 160 bytes data, server => client 20:54:37.707705 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.707716 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.707726 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.707792 < 16 bytes data, client => server 20:54:37.707805 'USER anonymous\r\n' 20:54:37.707978 Received DATA (on stdin) 20:54:37.707990 > 33 bytes data, server => client 20:54:37.708000 '331 We are happy you popped in!\r\n' 20:54:37.708048 < 22 bytes data, client => server 20:54:37.708060 'PASS ftp@example.com\r\n' 20:54:37.708184 Received DATA (on stdin) 20:54:37.708196 > 30 bytes data, server => client 20:54:37.708206 '230 Welcome you silly person\r\n' 20:54:37.708252 < 5 bytes data, client => server 20:54:37.708264 'PWD\r\n' 20:54:37.708379 Received DATA (on stdin) 20:54:37.708392 > 30 bytes data, server => client 20:54:37.708403 '257 "/" is current directory\r\n' 20:54:37.708461 < 6 bytes data, client => server 20:54:37.708477 'EPSV\r\n' 20:54:37.710604 Received DATA (on stdin) 20:54:37.710618 > 38 bytes data, server => client 20:54:37.710629 '229 Entering Passive Mode (|||44145|)\n' 20:54:37.710756 < 8 bytes data, client => server 20:54:37.710773 'TYPE I\r\n' 20:54:37.710975 Received DATA (on stdin) 20:54:37.711016 > 33 bytes data, server => client 20:54:37.711033 '200 I modify TYPE as you wanted\r\n' 20:54:37.711255 < 21 bytes data, client => server 20:54:37.711349 'SIZE verifiedserver\r\n' 20:54:37.711438 Received DATA (on stdin) 20:54:37.711460 > 8 bytes data, server => client 20:54:37.711472 '213 18\r\n' 20:54:37.711725 < 21 bytes data, client => server 20:54:37.711743 'RETR verifiedserver\r\n' 20:54:37.712009 Received DATA (on stdin) 20:54:37.712021 > 29 bytes data, server => client 20:54:37.712031 '150 Binary junk (18 bytes).\r\n' 20:54:37.712782 Received DATA (on stdin) 20:54:37.712794 > 28 bytes data, server => client 20:54:37.712805 '226 File transfer complete\r\n' 20:54:37.754028 < 6 bytes data, client => server 20:54:37.754054 'QUIT\r\n' 20:54:37.754275 Received DATA (on stdin) 20:54:37.754288 > 18 bytes data, server => client 20:54:37.754298 '221 bye bye baby\r\n' 20:54:37.754404 ====> Client disconnect 20:54:37.754531 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.709906 Running IPv4 version 20:54:37.709981 Listening on port 44145 20:54:37.710014 Wrote pid 118458 to log/4/server/ftp_sockdata.pid 20:54:37.710032 Received PING (on stdin) 20:54:37.710438 Received PORT (on stdin) 20:54:37.710793 ====> Client connect 20:54:37.712102 Received DATA (on stdin) 20:54:37.712120 > 18 bytes data, server => client 20:54:37.712131 'WE ROOLZ: 110707\r\n' 20:54:37.712158 Received DISC (on stdin) 20:54:37.712170 ====> Client forcibly disconnected 20:54:37.712288 Received QUIT (on stdin) 20:54:37.712301 quits 20:54:37.712357 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==118668== ==118668== Process terminating with default action of signal 4 (SIGILL) ==118668== Illegal opcode at address 0x4003082 ==118668== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118668== by 0x4003082: main (tool_main.c:243) === End of file valgrind225 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/9/valgrind227 ../src/curl -q --output log/9/curl227.out --include --trace-ascii log/9/trace227 --trace-config all --trace-time ftp://127.0.0.1:39489/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/9/stdout227 2> log/9/stderr227 227: 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 227 === Start of file commands.log ../libtool --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/valgrind227 ../src/curl -q --output log/9/curl227.out --include --trace-ascii log/9/trace227 --trace-config all --trace-time ftp://127.0.0.1:39489/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/9/stdout227 2> log/9/stderr227 === End of file commands.log === Start of file ftp_server.log 20:54:37.523228 ====> Client connect 20:54:37.523396 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.524081 < "USER anonymous" 20:54:37.524206 > "331 We are happy you popped in![CR][LF]" 20:54:37.524596 < "PASS ftp@example.com" 20:54:37.524624 > "230 Welcome you silly person[CR][LF]" 20:54:37.525034 < "PWD" 20:54:37.525085 > "257 "/" is current directory[CR][LF]" 20:54:37.525240 < "EPSV" 20:54:37.525262 ====> Passive DATA channel requested by client 20:54:37.525272 DATA sockfilt for passive data channel starting... 20:54:37.527440 DATA sockfilt for passive data channel started (pid 118632) 20:54:37.527564 DATA sockfilt for passive data channel listens on port 46595 20:54:37.527604 > "229 Entering Passive Mode (|||46595|)[LF]" 20:54:37.527622 Client has been notified that DATA conn will be accepted on port 46595 20:54:37.527893 Client connects to port 46595 20:54:37.527917 ====> Client established passive DATA connection on port 46595 20:54:37.527980 < "TYPE I" 20:54: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/8/valgrind231 ../src/curl -q --output log/8/curl231.out --trace-ascii log/8/trace231 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test231.txt -C 10 > log/8/stdout231 2> log/8/stderr231 7.528004 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.528122 < "SIZE verifiedserver" 20:54:37.528156 > "213 18[CR][LF]" 20:54:37.528421 < "RETR verifiedserver" 20:54:37.528460 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.528531 =====> Closing passive DATA connection... 20:54:37.528546 Server disconnects passive DATA connection 20:54:37.528705 Server disconnected passive DATA connection 20:54:37.528734 DATA sockfilt for passive data channel quits (pid 118632) 20:54:37.528953 DATA sockfilt for passive data channel quit (pid 118632) 20:54:37.528976 =====> Closed passive DATA connection 20:54:37.529005 > "226 File transfer complete[CR][LF]" 20:54:37.572526 < "QUIT" 20:54:37.572575 > "221 bye bye baby[CR][LF]" 20:54:37.573427 MAIN sockfilt said DISC 20:54:37.573457 ====> Client disconnected 20:54:37.573665 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.744629 ====> Client connect 20:54:37.744917 Received DATA (on stdin) 20:54:37.744935 > 160 bytes data, server => client 20:54:37.744948 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.744963 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.744972 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.745045 < 16 bytes data, client => server 20:54:37.745057 'USER anonymous\r\n' 20:54:37.745733 Received DATA (on stdin) 20:54:37.745750 > 33 bytes data, server => client 20:54:37.745810 '331 We are happy you popped in!\r\n' 20:54:37.745975 < 22 bytes data, client => server 20:54:37.745994 'PASS ftp@example.com\r\n' 20:54:37.746134 Received DATA (on stdin) 20:54:37.746144 > 30 bytes data, server => client 20:54:37.746152 '230 Welcome you silly person\r\n' 20:54:37.746267 < 5 bytes data, client => server 20:54:37.746282 'PWD\r\n' 20:54:37.746603 Received DATA (on stdin) 20:54:37.746615 > 30 bytes data, server => client 20:54:37.746626 '257 "/" is current directory\r\n' 20:54:37.746689 < 6 bytes data, client => server 20:54:37.746702 'EPSV\r\n' 20:54:37.749143 Received DATA (on stdin) 20:54:37.749157 > 38 bytes data, server => client 20:54:37.749167 '229 Entering Passive Mode (|||46595|)\n' 20:54:37.749355 < 8 bytes data, client => server 20:54:37.749367 'TYPE I\r\n' 20:54:37.749514 Received DATA (on stdin) 20:54:37.749524 > 33 bytes data, server => client 20:54:37.749533 '200 I modify TYPE as you wanted\r\n' 20:54:37.749578 < 21 bytes data, client => server 20:54:37.749592 'SIZE verifiedserver\r\n' 20:54:37.749666 Received DATA (on stdin) 20:54:37.749758 > 8 bytes data, server => client 20:54:37.749779 '213 18\r\n' 20:54:37.749873 < 21 bytes data, client => server 20:54:37.749907 'RETR verifiedserver\r\n' 20:54:37.750060 Received DATA (on stdin) 20:54:37.750072 > 29 bytes data, server => client 20:54:37.750083 '150 Binary junk (18 bytes).\r\n' 20:54:37.750520 Received DATA (on stdin) 20:54:37.750533 > 28 bytes data, server => client 20:54:37.750544 '226 File transfer complete\r\n' 20:54:37.793869 < 6 bytes data, client => server 20:54:37.793895 'QUIT\r\n' 20:54:37.794098 Received DATA (on stdin) 20:54:37.794110 > 18 bytes data, server => client 20:54:37.794121 '221 bye bye baby\r\n' 20:54:37.794891 ====> Client disconnect 20:54:37.795049 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.748543 Running IPv4 version 20:54:37.748719 Listening on port 46595 20:54:37.748860 Wrote pid 118632 to log/9/server/ftp_sockdata.pid 20:54:37.748883 Received PING (on stdin) 20:54:37.748989 Received PORT (on stdin) 20:54:37.749327 ====> Client connect 20:54:37.750081 Received DATA (on stdin) 20:54:37.750101 > 18 bytes data, server => client 20:54:37.750112 'WE ROOLZ: 110717\r\n' 20:54:37.750140 Received DISC (on stdin) 20:54:37.750153 ====> Client forcibly disconnected 20:54:37.750257 Received QUIT (on stdin) 20:54:37.750269 quits 20:54:37.750320 ============> 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 ==118761== ==118761== Process terminating with default action of signal 4 (SIGILL) ==118761== Illegal opcode at address 0x4003082 ==118761== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118761== by 0x4003082: main (tool_main.c:243) === End of file valgrind227 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind228 ../src/curl -q --output log/23/curl228.out --include --trace-ascii log/23/trace228 --trace-config all --trace-time ftp://127.0.0.1:40137/228 --ftp-account "one count" > log/23/stdout228 2> log/23/stderr228 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/8/valgrind231 ../src/curl -q --output log/8/curl231.out --trace-ascii log/8/trace231 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test231.txt -C 10 > log/8/stdout231 2> log/8/stderr231 231: data FAILED: --- log/8/check-expected 2025-06-04 20:54:38.113031474 +0000 +++ log/8/check-generated 2025-06-04 20:54:38.113031474 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/8/ dir after test 231 === Start of file check-expected B01234567[LF] C01234567[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind231 ../src/curl -q --output log/8/curl231.out --trace-ascii log/8/trace231 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test231.txt -C 10 > log/8/stdout231 2> log/8/stderr231 === End of file commands.log === 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 ==118739== ==118739== Process terminating with default action of signal 4 (SIGILL) ==118739== Illegal opcode at address 0x4003082 ==118739== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118739== by 0x4003082: main (tool_main.c:243) === End of file valgrind231 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/23/valgrind228 ../src/curl -q --output log/23/curl228.out --include --trace-ascii log/23/trace228 --trace-config all --trace-time ftp://127.0.0.1:40137/228 --ftp-account "one count" > log/23/stdout228 2> log/23/stderr228 228: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind228 ../src/curl -q --output log/23/curl228.out --include --trace-ascii log/23/trace228 --trace-config all --trace-time ftp://127.0.0.1:40137/228 --ftp-account "one count" > log/23/stdout228 2> log/23/stderr228 === End of file commands.log === Start of file ftp_server.log 20:54:37.533186 ====> Client connect 20:54:37.534350 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.537126 < "USER anonymous" 20:54:37.537194 > "331 We are happy you popped in![CR][LF]" 20:54:37.537392 < "PASS ftp@example.com" 20:54:37.537418 > "230 Welcome you silly person[CR][LF]" 20:54:37.537566 < "PWD" 20:54:37.537593 > "257 "/" is current directory[CR][LF]" 20:54:37.537739 < "EPSV" 20:54:37.537763 ====> Passive DATA channel requested by client 20:54:37.537776 DATA sockfilt for passive data channel starting... 20:54:37.539975 DATA sockfilt for passive data channel started (pid 118664) 20:54:37.540117 DATA sockfilt for passive data channel listens on port 41583 20:54:37.540183 > "229 Entering Passive Mode (|||41583|)[LF]" 20:54:37.540211 Client has been notified that DATA conn will be accepted on port 41583 20:54:37.540493 Client connects to port 41583 20:54:37.540520 ====> Client established passive DATA connection on port 41583 20:54:37.540592 < "TYPE I" 20:54:37.540619 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.541270 < "SIZE verifiedserver" 20:54:37.541326 > "213 18[CR][LF]" 20:54:37.541481 < "RETR verifiedserver" 20:54:37.541716 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.541795 =====> Closing passive DATA connection... 20:54:37.541810 Server disconnects passive DATA connection 20:54:37.542190 Server disconnected passive DATA connection 20:54:37.542222 DATA sockfilt for passive data channel quits (pid 118664) 20:54:37.542471 DATA sockfilt for passive data channel quit (pid 118664) 20:54:37.542494 =====> Closed passive DATA connection 20:54:37.542521 > "226 File transfer complete[CR][LF]" 20:54:37.583239 < "QUIT" 20:54:37.583292 > "221 bye bye baby[CR][LF]" 20:54:37.583524 MAIN sockfilt said DISC 20:54:37.583570 ====> Client disconnected 20:54:37.583628 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.754084 ====> Client connect 20:54:37.755871 Received DATA (on stdin) 20:54:37.757119 > 160 bytes data, server => client 20:54:37.757141 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.757152 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.757162 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.757232 < 16 bytes data, client => server 20:54:37.757243 'USER anonymous\r\n' 20:54:37.758719 Received DATA (on stdin) 20:54:37.758732 > 33 bytes data, server => client 20:54:37.758743 '331 We are happy you popped in!\r\n' 20:54:37.758797 < 22 bytes data, client => server 20:54:37.758810 'PASS ftp@example.com\r\n' 20:54:37.758933 Received DATA (on stdin) 20:54:37.758944 > 30 bytes data, server => client 20:54:37.758954 '230 Welcome you silly person\r\n' 20:54:37.759003 < 5 bytes data, client => server 20:54:37.759014 'PWD\r\n' 20:54:37.759105 Received DATA (on stdin) 20:54:37.759116 > 30 bytes data, server => client 20:54:37.759127 '257 "/" is current directory\r\n' 20:54:37.759178 < 6 bytes data, client => server 20:54:37.759189 'EPSV\r\n' 20:54:37.761738 Received DATA (on stdin) 20:54:37.761759 > 38 bytes data, server => client 20:54:37.761770 '229 Entering Passive Mode (|||41583|)\n' 20:54:37.761952 < 8 bytes data, client => server 20:54:37.761966 'TYPE I\r\n' 20:54:37.762206 Received DATA (on stdin) 20:54:37.762292 > 33 bytes data, server => client 20:54:37.762602 '200 I modify TYPE as you wanted\r\n' 20:54:37.762697 < 21 bytes data, client => server 20:54:37.762711 'SIZE verifiedserver\r\n' 20:54:37.762843 Received DATA (on stdin) 20:54:37.762855 > 8 bytes data, server => client 20:54:37.762865 '213 18\r\n' 20:54:37.762919 < 21 bytes data, client => server 20:54:37.762930 'RETR verifiedserver\r\n' 20:54:37.763131 Received DATA (on stdin) 20:54:37.763150 > 29 bytes data, server => client 20:54:37.763167 '150 Binary junk (18 bytes).\r\n' 20:54:37.764035 Received DATA (on stdin) 20:54:37.764047 > 28 bytes data, server => client 20:54:37.764058 '226 File transfer complete\r\n' 20:54:37.803745 < 6 bytes data, client => server 20:54:37.803767 'QUIT\r\n' 20:54:37.804814 Received DATA (on stdin) 20:54:37.804832 > 18 bytes data, server => client 20:54:37.804843 '221 bye bye baby\r\n' 20:54:37.804977 ====> Client disconnect 20:54:37.805142 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.761144 Running IPv4 version 20:54:37.761206 Listening on port 41583 20:54:37.761244 Wrote pid 118664 to log/23/server/ftp_sockdata.pid 20:54:37.761354 Received PING (on stdin) 20:54:37.761532 Received PORT (on stdin) 20:54:37.761925 ====> Client connect 20:54:37.763326 Received DATA (on stdin) 20:54:37.763339 > 18 bytes data, server => client 20:54:37.763350 'WE ROOLZ: 110718\r\n' 20:54:37.763375 Received DISC (on stdin) 20:54:37.763386 ====> Client forcibly disconnected 20:54:37.763744 Received QUIT (on stdin) 20:54:37.763756 quits 20:54:37.763810 ============> 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 ==118808== ==1188CMD (33792): ../libtool --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/valgrind226 ../src/curl -q --output log/5/curl226.out --include --trace-ascii log/5/trace226 --trace-config all --trace-time ftp://127.0.0.1:45115/226%0d > log/5/stdout226 2> log/5/stderr226 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind233 ../src/curl -q --output log/21/curl233.out --include --trace-ascii log/21/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:36793 --user iam:myself --proxy-user testing:this --location > log/21/stdout233 2> log/21/stderr233 08== Process terminating with default action of signal 4 (SIGILL) ==118808== Illegal opcode at address 0x4003082 ==118808== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118808== by 0x4003082: main (tool_main.c:243) === End of file valgrind228 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/5/valgrind226 ../src/curl -q --output log/5/curl226.out --include --trace-ascii log/5/trace226 --trace-config all --trace-time ftp://127.0.0.1:45115/226%0d > log/5/stdout226 2> log/5/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/5/ dir after test 226 === Start of file commands.log ../libtool --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/valgrind226 ../src/curl -q --output log/5/curl226.out --include --trace-ascii log/5/trace226 --trace-config all --trace-time ftp://127.0.0.1:45115/226%0d > log/5/stdout226 2> log/5/stderr226 === End of file commands.log === Start of file ftp_server.log 20:54:37.500325 ====> Client connect 20:54:37.500460 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.500725 < "USER anonymous" 20:54:37.500764 > "331 We are happy you popped in![CR][LF]" 20:54:37.500939 < "PASS ftp@example.com" 20:54:37.500966 > "230 Welcome you silly person[CR][LF]" 20:54:37.501115 < "PWD" 20:54:37.501145 > "257 "/" is current directory[CR][LF]" 20:54:37.501295 < "EPSV" 20:54:37.501317 ====> Passive DATA channel requested by client 20:54:37.501328 DATA sockfilt for passive data channel starting... 20:54:37.503068 DATA sockfilt for passive data channel started (pid 118515) 20:54:37.503168 DATA sockfilt for passive data channel listens on port 40149 20:54:37.503203 > "229 Entering Passive Mode (|||40149|)[LF]" 20:54:37.503218 Client has been notified that DATA conn will be accepted on port 40149 20:54:37.503420 Client connects to port 40149 20:54:37.503445 ====> Client established passive DATA connection on port 40149 20:54:37.503505 < "TYPE I" 20:54:37.503528 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.503718 < "SIZE verifiedserver" 20:54:37.503794 > "213 18[CR][LF]" 20:54:37.504046 < "RETR verifiedserver" 20:54:37.504078 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.504158 =====> Closing passive DATA connection... 20:54:37.504173 Server disconnects passive DATA connection 20:54:37.504962 Server disconnected passive DATA connection 20:54:37.504988 DATA sockfilt for passive data channel quits (pid 118515) 20:54:37.505210 DATA sockfilt for passive data channel quit (pid 118515) 20:54:37.505230 =====> Closed passive DATA connection 20:54:37.505257 > "226 File transfer complete[CR][LF]" 20:54:37.545763 < "QUIT" 20:54:37.545820 > "221 bye bye baby[CR][LF]" 20:54:37.547409 MAIN sockfilt said DISC 20:54:37.547448 ====> Client disconnected 20:54:37.547511 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.721748 ====> Client connect 20:54:37.721984 Received DATA (on stdin) 20:54:37.721999 > 160 bytes data, server => client 20:54:37.722010 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.722020 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.722030 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.722101 < 16 bytes data, client => server 20:54:37.722114 'USER anonymous\r\n' 20:54:37.722282 Received DATA (on stdin) 20:54:37.722295 > 33 bytes data, server => client 20:54:37.722306 '331 We are happy you popped in!\r\n' 20:54:37.722357 < 22 bytes data, client => server 20:54:37.722369 'PASS ftp@example.com\r\n' 20:54:37.722481 Received DATA (on stdin) 20:54:37.722493 > 30 bytes data, server => client 20:54:37.722503 '230 Welcome you silly person\r\n' 20:54:37.722548 < 5 bytes data, client => server 20:54:37.722560 'PWD\r\n' 20:54:37.722659 Received DATA (on stdin) 20:54:37.722670 > 30 bytes data, server => client 20:54:37.722680 '257 "/" is current directory\r\n' 20:54:37.722732 < 6 bytes data, client => server 20:54:37.722744 'EPSV\r\n' 20:54:37.724733 Received DATA (on stdin) 20:54:37.724745 > 38 bytes data, server => client 20:54:37.724756 '229 Entering Passive Mode (|||40149|)\n' 20:54:37.724885 < 8 bytes data, client => server 20:54:37.724896 'TYPE I\r\n' 20:54:37.725042 Received DATA (on stdin) 20:54:37.725052 > 33 bytes data, server => client 20:54:37.725062 '200 I modify TYPE as you wanted\r\n' 20:54:37.725104 < 21 bytes data, client => server 20:54:37.725115 'SIZE verifiedserver\r\n' 20:54:37.725320 Received DATA (on stdin) 20:54:37.725338 > 8 bytes data, server => client 20:54:37.725348 '213 18\r\n' 20:54:37.725456 < 21 bytes data, client => server 20:54:37.725471 'RETR verifiedserver\r\n' 20:54:37.726087 Received DATA (on stdin) 20:54:37.726103 > 29 bytes data, server => client 20:54:37.726113 '150 Binary junk (18 bytes).\r\n' 20:54:37.726771 Received DATA (on stdin) 20:54:37.726783 > 28 bytes data, server => client 20:54:37.726794 '226 File transfer complete\r\n' 20:54:37.767120 < 6 bytes data, client => server 20:54:37.767145 'QUIT\r\n' 20:54:37.767345 Received DATA (on stdin) 20:54:37.767366 > 18 bytes data, server => client 20:54:37.767377 '221 bye bye baby\r\n' 20:54:37.768861 ====> Client disconnect 20:54:37.769127 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.724432 Running IPv4 version 20:54:37.724479 Listening on port 40149 20:54:37.724510 Wrote pid 118515 to log/5/server/ftp_sockdata.pid 20:54:37.724526 Received PING (on stdin) 20:54:37.724607 Received PORT (on stdin) 20:54:37.724861 ====> Client connect 20:54:37.726290 Received DATA (on stdin) 20:54:37.726312 > 18 bytes data, server => client 20:54:37.726324 'WE ROOLZ: 110701\r\n' 20:54:37.726355 Received DISC (on stdin) 20:54:37.726368 ====> Client forcibly disconnected 20:54:37.726508 Received QUIT (on stdin) 20:54:37.726519 quits 20:54:37.726568 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==118843== ==118843== Process terminating with default action of signal 4 (SIGILL) ==118843== Illegal opcode at address 0x4003082 ==118843== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118843== by 0x4003082: main (tool_main.c:243) === End of file valgrind226 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/21/valgrind233 ../src/curl -q --output log/21/curl233.out --include --trace-ascii log/21/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:36793 --user iam:myself --proxy-user testing:this --location > log/21/stdout233 2> log/21/stderr233 233: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind233 ../src/curl -q --output log/21/curl233.out --include --trace-ascii log/21/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:36793 --user iam:myself --proxy-user testing:this --location > log/21/stdout233 2> log/21/stderr233 === End of file commands.log === Start of file http_server.log 20:54:37.822085 ====> Client connect 20:54:37.822115 accept_connection 3 returned 4 20:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind230 ../src/curl -q --output log/20/curl230.out --include --trace-ascii log/20/trace230 --trace-config all --trace-time http://127.0.0.1:41293/230 --compressed > log/20/stdout230 2> log/20/stderr230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind229 ../src/curl -q --output log/18/curl229.out --include --trace-ascii log/18/trace229 --trace-config all --trace-time ftp://127.0.0.1:37859/229 --ftp-account "one count" > log/18/stdout229 2> log/18/stderr229 CMD (33792): ../libtool --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/valgrind232 ../src/curl -q --output log/1/curl232.out --include --trace-ascii log/1/trace232 --trace-config all --trace-time http://127.0.0.1:42503/232 --compressed > log/1/stdout232 2> log/1/stderr232 54:37.822132 accept_connection 3 returned 0 20:54:37.822145 Read 93 bytes 20:54:37.822155 Process 93 bytes request 20:54:37.822166 Got request: GET /verifiedserver HTTP/1.1 20:54:37.822175 Are-we-friendly question received 20:54:37.822199 Wrote request (93 bytes) input to log/21/server.input 20:54:37.822215 Identifying ourselves as friends 20:54:37.822270 Response sent (57 bytes) and written to log/21/server.response 20:54:37.822281 special request received, no persistency 20:54:37.822290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind233 ==118898== ==118898== Process terminating with default action of signal 4 (SIGILL) ==118898== Illegal opcode at address 0x4003082 ==118898== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118898== by 0x4003082: main (tool_main.c:243) === End of file valgrind233 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/20/valgrind230 ../src/curl -q --output log/20/curl230.out --include --trace-ascii log/20/trace230 --trace-config all --trace-time http://127.0.0.1:41293/230 --compressed > log/20/stdout230 2> log/20/stderr230 230: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind230 ../src/curl -q --output log/20/curl230.out --include --trace-ascii log/20/trace230 --trace-config all --trace-time http://127.0.0.1:41293/230 --compressed > log/20/stdout230 2> log/20/stderr230 === End of file commands.log === Start of file http_server.log 20:54:37.812016 ====> Client connect 20:54:37.812046 accept_connection 3 returned 4 20:54:37.812067 accept_connection 3 returned 0 20:54:37.812082 Read 93 bytes 20:54:37.812091 Process 93 bytes request 20:54:37.812104 Got request: GET /verifiedserver HTTP/1.1 20:54:37.812114 Are-we-friendly question received 20:54:37.812139 Wrote request (93 bytes) input to log/20/server.input 20:54:37.812155 Identifying ourselves as friends 20:54:37.812210 Response sent (57 bytes) and written to log/20/server.response 20:54:37.812221 special request received, no persistency 20:54:37.812230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind230 ==118893== ==118893== Process terminating with default action of signal 4 (SIGILL) ==118893== Illegal opcode at address 0x4003082 ==118893== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118893== by 0x4003082: main (tool_main.c:243) === End of file valgrind230 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/18/valgrind229 ../src/curl -q --output log/18/curl229.out --include --trace-ascii log/18/trace229 --trace-config all --trace-time ftp://127.0.0.1:37859/229 --ftp-account "one count" > log/18/stdout229 2> log/18/stderr229 229: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind229 ../src/curl -q --output log/18/curl229.out --include --trace-ascii log/18/trace229 --trace-config all --trace-time ftp://127.0.0.1:37859/229 --ftp-account "one count" > log/18/stdout229 2> log/18/stderr229 === End of file commands.log === Start of file ftp_server.log 20:54:37.569819 ====> Client connect 20:54:37.569992 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.570258 < "USER anonymous" 20:54:37.570289 > "331 We are happy you popped in![CR][LF]" 20:54:37.573426 < "PASS ftp@example.com" 20:54:37.573457 > "230 Welcome you silly person[CR][LF]" 20:54:37.573665 < "PWD" 20:54:37.573694 > "257 "/" is current directory[CR][LF]" 20:54:37.573837 < "EPSV" 20:54:37.573861 ====> Passive DATA channel requested by client 20:54:37.573872 DATA sockfilt for passive data channel starting... 20:54:37.575619 DATA sockfilt for passive data channel started (pid 118718) 20:54:37.575720 DATA sockfilt for passive data channel listens on port 42717 20:54:37.575758 > "229 Entering Passive Mode (|||42717|)[LF]" 20:54:37.575774 Client has been notified that DATA conn will be accepted on port 42717 20:54:37.576004 Client connects to port 42717 20:54:37.576030 ====> Client established passive DATA connection on port 42717 20:54:37.576101 < "TYPE I" 20:54:37.576134 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.576287 < "SIZE verifiedserver" 20:54:37.576323 > "213 18[CR][LF]" 20:54:37.577952 < "RETR verifiedserver" 20:54:37.577988 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.578062 =====> Closing passive DATA connection... 20:54:37.578079 Server disconnects passive DATA connection 20:54:37.578336 Server disconnected passive DATA connection 20:54:37.578364 DATA sockfilt for passive data channel quits (pid 118718) 20:54:37.578585 DATA sockfilt for passive data channel quit (pid 118718) 20:54:37.578609 =====> Closed passive DATA connection 20:54:37.578636 > "226 File transfer complete[CR][LF]" 20:54:37.619110 < "QUIT" 20:54:37.619160 > "221 bye bye baby[CR][LF]" 20:54:37.620119 MAIN sockfilt said DISC 20:54:37.620144 ====> Client disconnected 20:54:37.620212 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.791213 ====> Client connect 20:54:37.791515 Received DATA (on stdin) 20:54:37.791529 > 160 bytes data, server => client 20:54:37.791541 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.791551 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.791561 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.791630 < 16 bytes data, client => server 20:54:37.791641 'USER anonymous\r\n' 20:54:37.791803 Received DATA (on stdin) 20:54:37.791814 > 33 bytes data, server => client 20:54:37.791828 '331 We are happy you popped in!\r\n' 20:54:37.794854 < 22 bytes data, client => server 20:54:37.794872 'PASS ftp@example.com\r\n' 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/14/valgrind234 ../src/curl -q --output log/14/curl234.out --include --trace-ascii log/14/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:35661 --user iam:myself --proxy-user testing:this --location-trusted > log/14/stdout234 2> log/14/stderr234 0:54:37.794975 Received DATA (on stdin) 20:54:37.794996 > 30 bytes data, server => client 20:54:37.795009 '230 Welcome you silly person\r\n' 20:54:37.795094 < 5 bytes data, client => server 20:54:37.795109 'PWD\r\n' 20:54:37.795206 Received DATA (on stdin) 20:54:37.795217 > 30 bytes data, server => client 20:54:37.795227 '257 "/" is current directory\r\n' 20:54:37.795279 < 6 bytes data, client => server 20:54:37.795290 'EPSV\r\n' 20:54:37.797293 Received DATA (on stdin) 20:54:37.797306 > 38 bytes data, server => client 20:54:37.797316 '229 Entering Passive Mode (|||42717|)\n' 20:54:37.797443 < 8 bytes data, client => server 20:54:37.797458 'TYPE I\r\n' 20:54:37.797650 Received DATA (on stdin) 20:54:37.797665 > 33 bytes data, server => client 20:54:37.797677 '200 I modify TYPE as you wanted\r\n' 20:54:37.797723 < 21 bytes data, client => server 20:54:37.797734 'SIZE verifiedserver\r\n' 20:54:37.797837 Received DATA (on stdin) 20:54:37.797848 > 8 bytes data, server => client 20:54:37.797858 '213 18\r\n' 20:54:37.799356 < 21 bytes data, client => server 20:54:37.799384 'RETR verifiedserver\r\n' 20:54:37.799594 Received DATA (on stdin) 20:54:37.799606 > 29 bytes data, server => client 20:54:37.799617 '150 Binary junk (18 bytes).\r\n' 20:54:37.800152 Received DATA (on stdin) 20:54:37.800165 > 28 bytes data, server => client 20:54:37.800175 '226 File transfer complete\r\n' 20:54:37.840469 < 6 bytes data, client => server 20:54:37.840492 'QUIT\r\n' 20:54:37.840676 Received DATA (on stdin) 20:54:37.840687 > 18 bytes data, server => client 20:54:37.840698 '221 bye bye baby\r\n' 20:54:37.841579 ====> Client disconnect 20:54:37.841724 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.796853 Running IPv4 version 20:54:37.796928 Listening on port 42717 20:54:37.796967 Wrote pid 118718 to log/18/server/ftp_sockdata.pid 20:54:37.797080 Received PING (on stdin) 20:54:37.797161 Received PORT (on stdin) 20:54:37.797477 ====> Client connect 20:54:37.799734 Received DATA (on stdin) 20:54:37.799752 > 18 bytes data, server => client 20:54:37.799763 'WE ROOLZ: 111651\r\n' 20:54:37.799789 Received DISC (on stdin) 20:54:37.799802 ====> Client forcibly disconnected 20:54:37.799884 Received QUIT (on stdin) 20:54:37.799896 quits 20:54:37.799949 ============> 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 ==118968== ==118968== Process terminating with default action of signal 4 (SIGILL) ==118968== Illegal opcode at address 0x4003082 ==118968== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118968== by 0x4003082: main (tool_main.c:243) === 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/1/valgrind232 ../src/curl -q --output log/1/curl232.out --include --trace-ascii log/1/trace232 --trace-config all --trace-time http://127.0.0.1:42503/232 --compressed > log/1/stdout232 2> log/1/stderr232 232: 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 232 === Start of file commands.log ../libtool --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/valgrind232 ../src/curl -q --output log/1/curl232.out --include --trace-ascii log/1/trace232 --trace-config all --trace-time http://127.0.0.1:42503/232 --compressed > log/1/stdout232 2> log/1/stderr232 === End of file commands.log === Start of file http_server.log 20:54:37.821541 ====> Client connect 20:54:37.821572 accept_connection 3 returned 4 20:54:37.821590 accept_connection 3 returned 0 20:54:37.821604 Read 93 bytes 20:54:37.821614 Process 93 bytes request 20:54:37.821627 Got request: GET /verifiedserver HTTP/1.1 20:54:37.821637 Are-we-friendly question received 20:54:37.821667 Wrote request (93 bytes) input to log/1/server.input 20:54:37.821682 Identifying ourselves as friends 20:54:37.821731 Response sent (57 bytes) and written to log/1/server.response 20:54:37.821741 special request received, no persistency 20:54:37.821750 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.1 > Accept: */* > < 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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind232 ==118978== ==118978== Process terminating with default action of signal 4 (SIGILL) ==118978== Illegal opcode at address 0x4003082 ==118978== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==118978== by 0x4003082: main (tool_main.c:243) === End of file valgrind232 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/14/valgrind234 ../src/curl -q --output log/14/curl234.out --include --trace-ascii log/14/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:35661 --user iam:myself --proxy-user testing:this --location-trusted > log/14/stdout234 2> log/14/stderr234 234: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind234 ../src/curl -q --output log/14/curl234.out --include --trace-ascii log/14/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:35661 --user iam:myself --proxy-user testing:this --location-trusted > log/14/stdout234 2> log/14/stderr234 === End of file commands.log === Start of file http_server.log 20:54:37.906962 ====> Client connect 20:54:37.906997 accept_connection 3 returned 4 20:54:37.907015 accept_connection 3 returned 0 20:54:37.907352 Read 93 bytes 20:54:37.907384 Process 93 bytes request 20:54:37.907401 Got request: GET /verifiedserver HTTP/1.1 20:54:37.907411 Are-we-friendly question received 20:54:37.907449 Wrote request (93 bytes) input to log/14/server.input 20:54:37.907468 Identifying ourselves as friends 20:54:37.907530 Response sent (57 bytes) and written to log/14/server.response 20:54:37.907541 special request received, no persistency 20:54:37.907551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 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/16/valgrind235 ../src/curl -q --output log/16/curl235.out --include --trace-ascii log/16/trace235 --trace-config all --trace-time ftp://127.0.0.1:35865/235 -T log/16/upload235 -C - > log/16/stdout235 2> log/16/stderr235 CMD (33792): ../libtool --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/valgrind243 ../src/curl -q --output log/10/curl243.out --include --trace-ascii log/10/trace243 --trace-config all --trace-time http://127.0.0.1:43831/243 --proxy http://127.0.0.1:43831 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/10/stdout243 2> log/10/stderr243 04808 === End of file server.response === Start of file valgrind234 ==119192== ==119192== Process terminating with default action of signal 4 (SIGILL) ==119192== Illegal opcode at address 0x4003082 ==119192== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119192== by 0x4003082: main (tool_main.c:243) === End of file valgrind234 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/16/valgrind235 ../src/curl -q --output log/16/curl235.out --include --trace-ascii log/16/trace235 --trace-config all --trace-time ftp://127.0.0.1:35865/235 -T log/16/upload235 -C - > log/16/stdout235 2> log/16/stderr235 235: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 235 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind235 ../src/curl -q --output log/16/curl235.out --include --trace-ascii log/16/trace235 --trace-config all --trace-time ftp://127.0.0.1:35865/235 -T log/16/upload235 -C - > log/16/stdout235 2> log/16/stderr235 === End of file commands.log === Start of file ftp_server.log 20:54:37.857994 ====> Client connect 20:54:37.858166 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.858505 < "USER anonymous" 20:54:37.858558 > "331 We are happy you popped in![CR][LF]" 20:54:37.858738 < "PASS ftp@example.com" 20:54:37.858764 > "230 Welcome you silly person[CR][LF]" 20:54:37.858890 < "PWD" 20:54:37.858919 > "257 "/" is current directory[CR][LF]" 20:54:37.861858 < "EPSV" 20:54:37.861955 ====> Passive DATA channel requested by client 20:54:37.861970 DATA sockfilt for passive data channel starting... 20:54:37.864153 DATA sockfilt for passive data channel started (pid 119267) 20:54:37.864266 DATA sockfilt for passive data channel listens on port 44267 20:54:37.864306 > "229 Entering Passive Mode (|||44267|)[LF]" 20:54:37.864322 Client has been notified that DATA conn will be accepted on port 44267 20:54:37.864525 Client connects to port 44267 20:54:37.864550 ====> Client established passive DATA connection on port 44267 20:54:37.864624 < "TYPE I" 20:54:37.864650 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.864816 < "SIZE verifiedserver" 20:54:37.864849 > "213 18[CR][LF]" 20:54:37.864974 < "RETR verifiedserver" 20:54:37.865000 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.865063 =====> Closing passive DATA connection... 20:54:37.865077 Server disconnects passive DATA connection 20:54:37.865180 Server disconnected passive DATA connection 20:54:37.865204 DATA sockfilt for passive data channel quits (pid 119267) 20:54:37.865381 DATA sockfilt for passive data channel quit (pid 119267) 20:54:37.865402 =====> Closed passive DATA connection 20:54:37.865423 > "226 File transfer complete[CR][LF]" 20:54:37.905855 < "QUIT" 20:54:37.905908 > "221 bye bye baby[CR][LF]" 20:54:37.906642 MAIN sockfilt said DISC 20:54:37.906690 ====> Client disconnected 20:54:37.906753 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.079384 ====> Client connect 20:54:38.079697 Received DATA (on stdin) 20:54:38.079715 > 160 bytes data, server => client 20:54:38.079727 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.079738 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.079748 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.079842 < 16 bytes data, client => server 20:54:38.079865 'USER anonymous\r\n' 20:54:38.080075 Received DATA (on stdin) 20:54:38.080092 > 33 bytes data, server => client 20:54:38.080102 '331 We are happy you popped in!\r\n' 20:54:38.080156 < 22 bytes data, client => server 20:54:38.080170 'PASS ftp@example.com\r\n' 20:54:38.080276 Received DATA (on stdin) 20:54:38.080287 > 30 bytes data, server => client 20:54:38.080298 '230 Welcome you silly person\r\n' 20:54:38.080338 < 5 bytes data, client => server 20:54:38.080349 'PWD\r\n' 20:54:38.080432 Received DATA (on stdin) 20:54:38.080443 > 30 bytes data, server => client 20:54:38.080454 '257 "/" is current directory\r\n' 20:54:38.083246 < 6 bytes data, client => server 20:54:38.083287 'EPSV\r\n' 20:54:38.085843 Received DATA (on stdin) 20:54:38.085856 > 38 bytes data, server => client 20:54:38.085867 '229 Entering Passive Mode (|||44267|)\n' 20:54:38.085991 < 8 bytes data, client => server 20:54:38.086001 'TYPE I\r\n' 20:54:38.086161 Received DATA (on stdin) 20:54:38.086171 > 33 bytes data, server => client 20:54:38.086180 '200 I modify TYPE as you wanted\r\n' 20:54:38.086254 < 21 bytes data, client => server 20:54:38.086264 'SIZE verifiedserver\r\n' 20:54:38.086360 Received DATA (on stdin) 20:54:38.086371 > 8 bytes data, server => client 20:54:38.086380 '213 18\r\n' 20:54:38.086424 < 21 bytes data, client => server 20:54:38.086434 'RETR verifiedserver\r\n' 20:54:38.086610 Received DATA (on stdin) 20:54:38.086620 > 29 bytes data, server => client 20:54:38.086630 '150 Binary junk (18 bytes).\r\n' 20:54:38.086934 Received DATA (on stdin) 20:54:38.086944 > 28 bytes data, server => client 20:54:38.086952 '226 File transfer complete\r\n' 20:54:38.127190 < 6 bytes data, client => server 20:54:38.127213 'QUIT\r\n' 20:54:38.127428 Received DATA (on stdin) 20:54:38.127441 > 18 bytes data, server => client 20:54:38.127452 '221 bye bye baby\r\n' 20:54:38.128085 ====> Client disconnect 20:54:38.128268 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.085369 Running IPv4 version 20:54:37.085418 Listening on port 44267 20:54:37.085454 Wrote pid 119267 to log/16/server/ftp_sockdata.pid 20:54:37.085610 Received PING (on stdin) 20:54:37.085694 Received PORT (on stdin) 20:54:37.085964 ====> Client connect 20:54:37.086521 Received DATA (on stdin) 20:54:37.086542 > 18 bytes data, server => client 20:54:37.086553 'WE ROOLZ: 110697\r\n' 20:54:37.086598 Received DISC (on stdin) 20:54:37.086612 ====> Client forcibly disconnected 20:54:37.086728 Received QUIT (on stdin) 20:54:37.086741 quits 20:54:37.086781 ============> 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 ==119295== ==119295== Process terminating with default action of signal 4 (SIGILL) ==119295== Illegal opcode at address 0x4003082 ==119295== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119295== by 0x4003082: main (tool_main.c:243) === End of file valgrind235 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/10/valgrind243 ../src/curl -q --output log/10/curl243.out --include --trace-ascii log/10/trace243 --trace-config all --trace-time http://127.0.0.1:43831/243 --proxy http://127.0.0.1:43831 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/10/stdout243 2> log/10/stderr243 243: 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 243 === Start of file commands.log ../libtool --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/valgrind243 ../src/curl -q --output log/10/curl243.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/19/valgrind239 ../src/curl -q --output log/19/curl239.out --include --trace-ascii log/19/trace239 --trace-config all --trace-time http://127.0.0.1:46549/239 --proxy http://127.0.0.1:46549 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/19/stdout239 2> log/19/stderr239 CMD (33792): ../libtool --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/valgrind237 ../src/curl -q --output log/12/curl237.out --include --trace-ascii log/12/trace237 --trace-config all --trace-time ftp://127.0.0.1:38967/237 --disable-epsv > log/12/stdout237 2> log/12/stderr237 --include --trace-ascii log/10/trace243 --trace-config all --trace-time http://127.0.0.1:43831/243 --proxy http://127.0.0.1:43831 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/10/stdout243 2> log/10/stderr243 === End of file commands.log === Start of file http_server.log 20:54:38.178056 ====> Client connect 20:54:38.178084 accept_connection 3 returned 4 20:54:38.178101 accept_connection 3 returned 0 20:54:38.178114 Read 93 bytes 20:54:38.178124 Process 93 bytes request 20:54:38.178136 Got request: GET /verifiedserver HTTP/1.1 20:54:38.178145 Are-we-friendly question received 20:54:38.178167 Wrote request (93 bytes) input to log/10/server.input 20:54:38.178182 Identifying ourselves as friends 20:54:38.178234 Response sent (57 bytes) and written to log/10/server.response 20:54:38.178243 special request received, no persistency 20:54:38.178252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind243 ==119428== ==119428== Process terminating with default action of signal 4 (SIGILL) ==119428== Illegal opcode at address 0x4003082 ==119428== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119428== by 0x4003082: main (tool_main.c:243) === End of file valgrind243 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/19/valgrind239 ../src/curl -q --output log/19/curl239.out --include --trace-ascii log/19/trace239 --trace-config all --trace-time http://127.0.0.1:46549/239 --proxy http://127.0.0.1:46549 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/19/stdout239 2> log/19/stderr239 239: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 239 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind239 ../src/curl -q --output log/19/curl239.out --include --trace-ascii log/19/trace239 --trace-config all --trace-time http://127.0.0.1:46549/239 --proxy http://127.0.0.1:46549 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/19/stdout239 2> log/19/stderr239 === End of file commands.log === Start of file http_server.log 20:54:38.163896 ====> Client connect 20:54:38.163928 accept_connection 3 returned 4 20:54:38.163945 accept_connection 3 returned 0 20:54:38.163961 Read 93 bytes 20:54:38.163971 Process 93 bytes request 20:54:38.163985 Got request: GET /verifiedserver HTTP/1.1 20:54:38.163995 Are-we-friendly question received 20:54:38.164020 Wrote request (93 bytes) input to log/19/server.input 20:54:38.164036 Identifying ourselves as friends 20:54:38.164086 Response sent (57 bytes) and written to log/19/server.response 20:54:38.164096 special request received, no persistency 20:54:38.164105 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === End of file http_verify.out === Start of file server.cmd Testnum 239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind239 ==119390== ==119390== Process terminating with default action of signal 4 (SIGILL) ==119390== Illegal opcode at address 0x4003082 ==119390== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119390== by 0x4003082: main (tool_main.c:243) === End of file valgrind239 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/12/valgrind237 ../src/curl -q --output log/12/curl237.out --include --trace-ascii log/12/trace237 --trace-config all --trace-time ftp://127.0.0.1:38967/237 --disable-epsv > log/12/stdout237 2> log/12/stderr237 237: 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 237 === Start of file commands.log ../libtool --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/valgrind237 ../src/curl -q --output log/12/curl237.out --include --trace-ascii log/12/trace237 --trace-config all --trace-time ftp://127.0.0.1:38967/237 --disable-epsv > log/12/stdout237 2> log/12/stderr237 === End of file commands.log === Start of file ftp_server.log 20:54:37.923639 ====> Client connect 20:54:37.923799 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.924085 < "USER anonymous" 20:54:37.924121 > "331 We are happy you popped in![CR][LF]" 20:54:37.924291 < "PASS ftp@example.com" 20:54:37.924320 > "230 Welcome you silly person[CR][LF]" 20:54:37.924473 < "PWD" 20:54:37.924502 > "257 "/" is current directory[CR][LF]" 20:54:37.924684 < "EPSV" 20:54:37.924708 ====> Passive DATA channel requested by client 20:54:37.924721 DATA sockfilt for passive data channel starting... 20:54:37.926544 DATA sockfilt for passive data channel started (pid 119310) 20:54:37.926653 DATA sockfilt for passive data channel listens on port 40311 20:54:37.926695 > "229 Entering Passive Mode (|||40311|)[LF]" 20:54:37.926715 Client has been notified that DATA conn will be accepted on port 40311 20:54:37.927623 Client connects to port 40311 20:54:37.927651 ====> Client established passive DATA connection on port 40311 20:54:37.927784 < "TYPE I" 20:54:37.927820 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.927981 < "SIZE verifiedserver" 20:54:37.928016 > "213 18[CR][LF]" 20:54:37.928467 < "RETR verifiedserver" 20:54:37.928521 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.928603 =====> Closing passive DATA connection... 20:54:37.928617 Server disconnects passive DATA connection 20:54:37.928939 Server disconnected passive DATA connection 20:54:37.928974 DATA sockfilt for passive data channel quits (pid 119310) 20:54:37.929394 DATA sockfilt for passive data channel quit (pid 119310) 20:54:37.929426 =====> Closed passive DATA connection 20:54:37.929456 > "226 File transfer complete[CR][LF]" 20:54:37.968962 < "QUIT" 20:54:37.969009 > "221 bye bye baby[CR][LF]" 20:54:37.969113 MAIN sockfilt said DISC 20:54:37.969132 ====> Client disconnected 20:54:37.969195 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.144976 ====> Client connect 20:54:38.145340 Received DATA (on stdin) 20:54:38.145357 > 160 bytes data, server => client 20:54:38.145370 '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/22/valgrind238 ../src/curl -q --output log/22/curl238.out --include --trace-ascii log/22/trace238 --trace-config all --trace-time ftp://127.0.0.1:38423/238 > log/22/stdout238 2> log/22/stderr238 ___ _ \r\n220- ___| | | | _ \| | ' 20:54:38.145380 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.145391 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.145460 < 16 bytes data, client => server 20:54:38.145475 'USER anonymous\r\n' 20:54:38.145639 Received DATA (on stdin) 20:54:38.145651 > 33 bytes data, server => client 20:54:38.145662 '331 We are happy you popped in!\r\n' 20:54:38.145716 < 22 bytes data, client => server 20:54:38.145729 'PASS ftp@example.com\r\n' 20:54:38.145835 Received DATA (on stdin) 20:54:38.145848 > 30 bytes data, server => client 20:54:38.145858 '230 Welcome you silly person\r\n' 20:54:38.145905 < 5 bytes data, client => server 20:54:38.145917 'PWD\r\n' 20:54:38.146017 Received DATA (on stdin) 20:54:38.146028 > 30 bytes data, server => client 20:54:38.146043 '257 "/" is current directory\r\n' 20:54:38.146113 < 6 bytes data, client => server 20:54:38.146125 'EPSV\r\n' 20:54:38.148263 Received DATA (on stdin) 20:54:38.148280 > 38 bytes data, server => client 20:54:38.148709 '229 Entering Passive Mode (|||40311|)\n' 20:54:38.149045 < 8 bytes data, client => server 20:54:38.149067 'TYPE I\r\n' 20:54:38.149337 Received DATA (on stdin) 20:54:38.149350 > 33 bytes data, server => client 20:54:38.149361 '200 I modify TYPE as you wanted\r\n' 20:54:38.149411 < 21 bytes data, client => server 20:54:38.149424 'SIZE verifiedserver\r\n' 20:54:38.149531 Received DATA (on stdin) 20:54:38.149546 > 8 bytes data, server => client 20:54:38.149556 '213 18\r\n' 20:54:38.149834 < 21 bytes data, client => server 20:54:38.149858 'RETR verifiedserver\r\n' 20:54:38.150133 Received DATA (on stdin) 20:54:38.150145 > 29 bytes data, server => client 20:54:38.150156 '150 Binary junk (18 bytes).\r\n' 20:54:38.150975 Received DATA (on stdin) 20:54:38.150990 > 28 bytes data, server => client 20:54:38.151000 '226 File transfer complete\r\n' 20:54:38.190291 < 6 bytes data, client => server 20:54:38.190311 'QUIT\r\n' 20:54:38.190524 Received DATA (on stdin) 20:54:38.190537 > 18 bytes data, server => client 20:54:38.190547 '221 bye bye baby\r\n' 20:54:38.190589 ====> Client disconnect 20:54:38.190705 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.147785 Running IPv4 version 20:54:37.147834 Listening on port 40311 20:54:37.147871 Wrote pid 119310 to log/12/server/ftp_sockdata.pid 20:54:37.147998 Received PING (on stdin) 20:54:37.148083 Received PORT (on stdin) 20:54:37.149087 ====> Client connect 20:54:37.150215 Received DATA (on stdin) 20:54:37.150235 > 18 bytes data, server => client 20:54:37.150246 'WE ROOLZ: 110628\r\n' 20:54:37.150272 Received DISC (on stdin) 20:54:37.150284 ====> Client forcibly disconnected 20:54:37.150497 Received QUIT (on stdin) 20:54:37.150508 quits 20:54:37.150574 ============> 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 ==119444== ==119444== Process terminating with default action of signal 4 (SIGILL) ==119444== Illegal opcode at address 0x4003082 ==119444== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119444== by 0x4003082: main (tool_main.c:243) === End of file valgrind237 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/22/valgrind238 ../src/curl -q --output log/22/curl238.out --include --trace-ascii log/22/trace238 --trace-config all --trace-time ftp://127.0.0.1:38423/238 > log/22/stdout238 2> log/22/stderr238 238: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind238 ../src/curl -q --output log/22/curl238.out --include --trace-ascii log/22/trace238 --trace-config all --trace-time ftp://127.0.0.1:38423/238 > log/22/stdout238 2> log/22/stderr238 === End of file commands.log === Start of file ftp_server.log 20:54:37.938490 ====> Client connect 20:54:37.938640 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.939922 < "USER anonymous" 20:54:37.939965 > "331 We are happy you popped in![CR][LF]" 20:54:37.940668 < "PASS ftp@example.com" 20:54:37.940700 > "230 Welcome you silly person[CR][LF]" 20:54:37.940851 < "PWD" 20:54:37.940881 > "257 "/" is current directory[CR][LF]" 20:54:37.941022 < "EPSV" 20:54:37.941043 ====> Passive DATA channel requested by client 20:54:37.941055 DATA sockfilt for passive data channel starting... 20:54:37.942610 DATA sockfilt for passive data channel started (pid 119345) 20:54:37.942692 DATA sockfilt for passive data channel listens on port 38191 20:54:37.942722 > "229 Entering Passive Mode (|||38191|)[LF]" 20:54:37.942737 Client has been notified that DATA conn will be accepted on port 38191 20:54:37.942956 Client connects to port 38191 20:54:37.942984 ====> Client established passive DATA connection on port 38191 20:54:37.943052 < "TYPE I" 20:54:37.943083 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.943204 < "SIZE verifiedserver" 20:54:37.943229 > "213 18[CR][LF]" 20:54:37.943376 < "RETR verifiedserver" 20:54:37.943408 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.943472 =====> Closing passive DATA connection... 20:54:37.943487 Server disconnects passive DATA connection 20:54:37.943538 Server disconnected passive DATA connection 20:54:37.943589 DATA sockfilt for passive data channel quits (pid 119345) 20:54:37.944819 DATA sockfilt for passive data channel quit (pid 119345) 20:54:37.944846 =====> Closed passive DATA connection 20:54:37.944882 > "226 File transfer complete[CR][LF]" 20:54:37.989782 < "QUIT" 20:54:37.989839 > "221 bye bye baby[CR][LF]" 20:54:37.991030 MAIN sockfilt said DISC 20:54:37.991061 ====> Client disconnected 20:54:37.991121 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.158616 ====> Client connect 20:54:38.160484 Received DATA (on stdin) 20:54:38.160506 > 160 bytes data, server => client 20:54:38.160518 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.160529 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.160539 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.161284 < 16 bytes data, client => server 20:54:38.161301 'USER anonymous\r\n' 20:54:38.161481 Received DATA (on stdin) 20:54:38.161493 > 33 bytes data, server => client 20:54:38.161504 '331 We are happy you popped in!\r\n' 20:54:38.161557 < 22 bytes data, client => server 20:54:38.161568 'PASS ftp@example.com\r\n' 20:54:38.162215 Received DATA (on stdin) 20:54:38.162228 > 30 bytes data, server => client 20:54:38.162238 '230 Welcome you silly person\r\n' 20:54:38.162287 < 5 bytes data, client => server 20:54:38.162298 'PWD\r\n' 20:54:38.162393 Received DATA (on stdin) 20:54:38.162404 > 30 bytes data, server => client 20:54:38.162414 '257 "/" is current directory\r\n' 20:54:38.162463 < 6 bytes data, client => server 20:54:38.162473 'EPSV\r\n' 20:54:38.164251 Received DATA (on stdin) 20:54:38.164263 > 38 bytes data, server => client 20:54:38.164272 '229 Entering Passive Mode (|||38191|)\n' 20:54:38.164393 < 8 bytes data, client => server 20:54:38.164408 'TYPE I\r\n' 20:54:38.164595 Received DATA (on stdin) 20:54:38.164605 > 33 bytes data, server => client 20:54:38.164613 '200 I modify TYPE as you wanted\r\n' 20:54:38.164653 < 21 bytes data, client => server 20:54:38.164661 'SIZE verifiedserver\r\n' 20:54:38.164739 Received DATACMD (33792): ../libtool --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/valgrind244 ../src/curl -q --output log/2/curl244.out --include --trace-ascii log/2/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:41115/fir%23t/th%69rd/244/ > log/2/stdout244 2> log/2/stderr244 (on stdin) 20:54:38.164751 > 8 bytes data, server => client 20:54:38.164765 '213 18\r\n' 20:54:38.164808 < 21 bytes data, client => server 20:54:38.164819 'RETR verifiedserver\r\n' 20:54:38.165001 Received DATA (on stdin) 20:54:38.165015 > 29 bytes data, server => client 20:54:38.165026 '150 Binary junk (18 bytes).\r\n' 20:54:38.166409 Received DATA (on stdin) 20:54:38.166426 > 28 bytes data, server => client 20:54:38.166437 '226 File transfer complete\r\n' 20:54:38.211080 < 6 bytes data, client => server 20:54:38.211104 'QUIT\r\n' 20:54:38.211623 Received DATA (on stdin) 20:54:38.211643 > 18 bytes data, server => client 20:54:38.211654 '221 bye bye baby\r\n' 20:54:38.212470 ====> Client disconnect 20:54:38.212561 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.163903 Running IPv4 version 20:54:37.163946 Listening on port 38191 20:54:37.163975 Wrote pid 119345 to log/22/server/ftp_sockdata.pid 20:54:37.164076 Received PING (on stdin) 20:54:37.164139 Received PORT (on stdin) 20:54:37.164426 ====> Client connect 20:54:37.164937 Received DATA (on stdin) 20:54:37.164960 > 18 bytes data, server => client 20:54:37.164972 'WE ROOLZ: 110696\r\n' 20:54:37.165000 Received DISC (on stdin) 20:54:37.165012 ====> Client forcibly disconnected 20:54:37.166080 Received QUIT (on stdin) 20:54:37.166098 quits 20:54:37.166151 ============> 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 ==119516== ==119516== Process terminating with default action of signal 4 (SIGILL) ==119516== Illegal opcode at address 0x4003082 ==119516== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119516== by 0x4003082: main (tool_main.c:243) === End of file valgrind238 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/2/valgrind244 ../src/curl -q --output log/2/curl244.out --include --trace-ascii log/2/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:41115/fir%23t/th%69rd/244/ > log/2/stdout244 2> log/2/stderr244 244: 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 244 === Start of file commands.log ../libtool --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/valgrind244 ../src/curl -q --output log/2/curl244.out --include --trace-ascii log/2/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:41115/fir%23t/th%69rd/244/ > log/2/stdout244 2> log/2/stderr244 === End of file commands.log === Start of file ftp_server.log 20:54:37.958703 ====> Client connect 20:54:37.958863 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:37.959141 < "USER anonymous" 20:54:37.959175 > "331 We are happy you popped in![CR][LF]" 20:54:37.959336 < "PASS ftp@example.com" 20:54:37.959365 > "230 Welcome you silly person[CR][LF]" 20:54:37.959519 < "PWD" 20:54:37.959547 > "257 "/" is current directory[CR][LF]" 20:54:37.959771 < "EPSV" 20:54:37.959807 ====> Passive DATA channel requested by client 20:54:37.959820 DATA sockfilt for passive data channel starting... 20:54:37.961404 DATA sockfilt for passive data channel started (pid 119402) 20:54:37.961509 DATA sockfilt for passive data channel listens on port 41885 20:54:37.961551 > "229 Entering Passive Mode (|||41885|)[LF]" 20:54:37.961568 Client has been notified that DATA conn will be accepted on port 41885 20:54:37.961789 Client connects to port 41885 20:54:37.961827 ====> Client established passive DATA connection on port 41885 20:54:37.961898 < "TYPE I" 20:54:37.961931 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:37.962113 < "SIZE verifiedserver" 20:54:37.962146 > "213 18[CR][LF]" 20:54:37.962280 < "RETR verifiedserver" 20:54:37.962311 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:37.962380 =====> Closing passive DATA connection... 20:54:37.962393 Server disconnects passive DATA connection 20:54:37.962588 Server disconnected passive DATA connection 20:54:37.962618 DATA sockfilt for passive data channel quits (pid 119402) 20:54:37.962832 DATA sockfilt for passive data channel quit (pid 119402) 20:54:37.962858 =====> Closed passive DATA connection 20:54:37.962884 > "226 File transfer complete[CR][LF]" 20:54:38.005982 < "QUIT" 20:54:38.006040 > "221 bye bye baby[CR][LF]" 20:54:38.006306 MAIN sockfilt said DISC 20:54:38.006363 ====> Client disconnected 20:54:38.006457 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.178978 ====> Client connect 20:54:37.180392 Received DATA (on stdin) 20:54:37.180411 > 160 bytes data, server => client 20:54:37.180423 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:37.180434 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:37.180444 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:37.180525 < 16 bytes data, client => server 20:54:37.180537 'USER anonymous\r\n' 20:54:37.180689 Received DATA (on stdin) 20:54:37.180700 > 33 bytes data, server => client 20:54:37.180711 '331 We are happy you popped in!\r\n' 20:54:37.180778 < 22 bytes data, client => server 20:54:37.180789 'PASS ftp@example.com\r\n' 20:54:37.180883 Received DATA (on stdin) 20:54:37.180904 > 30 bytes data, server => client 20:54:37.180917 '230 Welcome you silly person\r\n' 20:54:37.180973 < 5 bytes data, client => server 20:54:37.180984 'PWD\r\n' 20:54:37.181059 Received DATA (on stdin) 20:54:37.181073 > 30 bytes data, server => client 20:54:37.181084 '257 "/" is current directory\r\n' 20:54:37.181141 < 6 bytes data, client => server 20:54:37.181155 'EPSV\r\n' 20:54:37.183089 Received DATA (on stdin) 20:54:37.183105 > 38 bytes data, server => client 20:54:37.183116 '229 Entering Passive Mode (|||41885|)\n' 20:54:37.183275 < 8 bytes data, client => server 20:54:37.183286 'TYPE I\r\n' 20:54:37.183445 Received DATA (on stdin) 20:54:37.183460 > 33 bytes data, server => client 20:54:37.183471 '200 I modify TYPE as you wanted\r\n' 20:54:37.183549 < 21 bytes data, client => server 20:54:37.183561 'SIZE verifiedserver\r\n' 20:54:37.183659 Received DATA (on stdin) 20:54:37.183671 > 8 bytes data, server => client 20:54:37.183680 '213 18\r\n' 20:54:37.183722 < 21 bytes data, client => server 20:54:37.183732 'RETR verifiedserver\r\n' 20:54:37.183852 Received DATA (on stdin) 20:54:37.183873 > 29 bytes data, server => client 20:54:37.183895 '150 Binary junk (18 bytes).\r\n' 20:54:37.184399 Received DATA (on stdin) 20:54:37.184411 > 28 bytes data, server => client 20:54:37.184422 '226 File transfer complete\r\n' 20:54:37.227289 < 6 bytes data, client => server 20:54:37.227314 'QUIT\r\n' 20:54:37.227559 Received DATA (on stdin) 20:54:37.227573 > 18 bytes data, server => client 20:54:37.227583 '221 bye bye baby\r\n' 20:54:37.227755 ====> Client disconnect 20:54:37.227981 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:37.182689 Running IPv4 version 20:54:37.182744 Listening on port 41885 20:54:37.182786 Wrote pid 119402 to log/2/server/ftp_sockdata.pid 20:54:37.182853 Received PING (on stdin) 20:54:37.182940 Received PORT (on stdin) 20:54:37.183248 ====> Client connect 20:54:37.183912 Received DATA (on stdin) 20:54:37.183934 > 18 bytes data, server => client 20:54:37.183945 'WE ROOLZ: 110829\r\n' 20:54:37.183977 Received DISC (on stdin) 20:54:37.183991 ====> Client forcibly disconnected 20:54:37.184141 Received QUIT (on stdin) 20:54:37.184153 quits 20:54:37.184203 ======CMD (33792): ../libtool --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/valgrind245 ../src/curl -q --output log/11/curl245.out --include --trace-ascii log/11/trace245 --trace-config all --trace-time http://127.0.0.1:44265/245 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout245 2> log/11/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/3/valgrind246 ../src/curl -q --output log/3/curl246.out --include --trace-ascii log/3/trace246 --trace-config all --trace-time http://127.0.0.1:33171/246 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout246 2> log/3/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/4/valgrind249 ../src/curl -q --output log/4/curl249.out --include --trace-ascii log/4/trace249 --trace-config all --trace-time http://127.0.0.1:35779/249 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout249 2> log/4/stderr249 ======> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==119575== ==119575== Process terminating with default action of signal 4 (SIGILL) ==119575== Illegal opcode at address 0x4003082 ==119575== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119575== by 0x4003082: main (tool_main.c:243) === End of file valgrind244 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/11/valgrind245 ../src/curl -q --output log/11/curl245.out --include --trace-ascii log/11/trace245 --trace-config all --trace-time http://127.0.0.1:44265/245 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout245 2> log/11/stderr245 245: 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 245 === Start of file commands.log ../libtool --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/valgrind245 ../src/curl -q --output log/11/curl245.out --include --trace-ascii log/11/trace245 --trace-config all --trace-time http://127.0.0.1:44265/245 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout245 2> log/11/stderr245 === End of file commands.log === Start of file http_server.log 20:54:38.269976 ====> Client connect 20:54:38.270005 accept_connection 3 returned 4 20:54:38.270022 accept_connection 3 returned 0 20:54:38.270037 Read 93 bytes 20:54:38.270047 Process 93 bytes request 20:54:38.270060 Got request: GET /verifiedserver HTTP/1.1 20:54:38.270070 Are-we-friendly question received 20:54:38.270093 Wrote request (93 bytes) input to log/11/server.input 20:54:38.270110 Identifying ourselves as friends 20:54:38.270165 Response sent (57 bytes) and written to log/11/server.response 20:54:38.270175 special request received, no persistency 20:54:38.270185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind245 ==119714== ==119714== Process terminating with default action of signal 4 (SIGILL) ==119714== Illegal opcode at address 0x4003082 ==119714== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119714== by 0x4003082: main (tool_main.c:243) === End of file valgrind245 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/3/valgrind246 ../src/curl -q --output log/3/curl246.out --include --trace-ascii log/3/trace246 --trace-config all --trace-time http://127.0.0.1:33171/246 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout246 2> log/3/stderr246 246: 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 246 === Start of file commands.log ../libtool --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/valgrind246 ../src/curl -q --output log/3/curl246.out --include --trace-ascii log/3/trace246 --trace-config all --trace-time http://127.0.0.1:33171/246 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout246 2> log/3/stderr246 === End of file commands.log === Start of file http_server.log 20:54:38.280031 ====> Client connect 20:54:38.280055 accept_connection 3 returned 4 20:54:38.280068 accept_connection 3 returned 0 20:54:38.280079 Read 93 bytes 20:54:38.280087 Process 93 bytes request 20:54:38.280098 Got request: GET /verifiedserver HTTP/1.1 20:54:38.280105 Are-we-friendly question received 20:54:38.280124 Wrote request (93 bytes) input to log/3/server.input 20:54:38.280138 Identifying ourselves as friends 20:54:38.280201 Response sent (57 bytes) and written to log/3/server.response 20:54:38.280225 special request received, no persistency 20:54:38.280234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind246 ==119730== ==119730== Process terminating with default action of signal 4 (SIGILL) ==119730== Illegal opcode at address 0x4003082 ==119730== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119730== by 0x4003082: main (tool_main.c:243) === 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/4/valgrind249 ../src/curl -q --output log/4/curl249.out --include --trace-ascii log/4/trace249 --trace-config all --trace-time http://127.0.0.1:35779/249 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout249 2> log/4/stderr249 249: 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 249 === Start of file commands.log ../libtool --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/valgrind249 ../src/curl -q --output log/4/curl249.out --include --trace-ascii log/4/trace249 --trace-config all --trace-time http://127.0.0.1:35779/249 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout249 2> log/4/stderr249 === End of file commands.log === Start of file http_server.log 20:54:38.313124 ====> Client connect 20:54:38.313247 accept_connection 3 returned 4 20:54:38.313268 accept_connection 3 returned 0 20:54:38.313283 Read 93 bytes 20:54:38.313293 Process 93 bytes request 20:54:38.313306 Got request: GET /verifiedserver HTTP/1.1 20:54:38.313315 Are-we-friendly question received 20:54:38.313341 Wrote request (93 bytes) input to log/4/server.input 20:54:38.313359 Identifying ourselves as friends 20:54:38.313414 Response sent (57 bytes) and written to log/4/server.response 20:54:38.313425 special request received, no persistency 20:54:38.313433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 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/17/valgrind247 ../src/curl -q --output log/17/curl247.out --include --trace-ascii log/17/trace247 --trace-config all --trace-time ftp://127.0.0.1:42765/247 -T log/17/test247.txt -z "apr 1 2005 08:00:00" > log/17/stdout247 2> log/17/stderr247 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind248 ../src/curl -q --output log/15/curl248.out --include --trace-ascii log/15/trace248 --trace-config all --trace-time ftp://127.0.0.1:41165/248 -T log/15/test248.txt -z "apr 1 2005 08:00:00" > log/15/stdout248 2> log/15/stderr248 host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind249 ==119816== ==119816== Process terminating with default action of signal 4 (SIGILL) ==119816== Illegal opcode at address 0x4003082 ==119816== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119816== by 0x4003082: main (tool_main.c:243) === 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/17/valgrind247 ../src/curl -q --output log/17/curl247.out --include --trace-ascii log/17/trace247 --trace-config all --trace-time ftp://127.0.0.1:42765/247 -T log/17/test247.txt -z "apr 1 2005 08:00:00" > log/17/stdout247 2> log/17/stderr247 247: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind247 ../src/curl -q --output log/17/curl247.out --include --trace-ascii log/17/trace247 --trace-config all --trace-time ftp://127.0.0.1:42765/247 -T log/17/test247.txt -z "apr 1 2005 08:00:00" > log/17/stdout247 2> log/17/stderr247 === End of file commands.log === Start of file ftp_server.log 20:54:38.063744 ====> Client connect 20:54:38.063899 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.064127 < "USER anonymous" 20:54:38.064157 > "331 We are happy you popped in![CR][LF]" 20:54:38.064292 < "PASS ftp@example.com" 20:54:38.064314 > "230 Welcome you silly person[CR][LF]" 20:54:38.064415 < "PWD" 20:54:38.064444 > "257 "/" is current directory[CR][LF]" 20:54:38.065542 < "EPSV" 20:54:38.065581 ====> Passive DATA channel requested by client 20:54:38.065595 DATA sockfilt for passive data channel starting... 20:54:38.067389 DATA sockfilt for passive data channel started (pid 119713) 20:54:38.067530 DATA sockfilt for passive data channel listens on port 46721 20:54:38.067572 > "229 Entering Passive Mode (|||46721|)[LF]" 20:54:38.067587 Client has been notified that DATA conn will be accepted on port 46721 20:54:38.067744 Client connects to port 46721 20:54:38.067783 ====> Client established passive DATA connection on port 46721 20:54:38.067842 < "TYPE I" 20:54:38.067863 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.067979 < "SIZE verifiedserver" 20:54:38.068006 > "213 18[CR][LF]" 20:54:38.068140 < "RETR verifiedserver" 20:54:38.068171 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.068243 =====> Closing passive DATA connection... 20:54:38.068260 Server disconnects passive DATA connection 20:54:38.068470 Server disconnected passive DATA connection 20:54:38.068500 DATA sockfilt for passive data channel quits (pid 119713) 20:54:38.068711 DATA sockfilt for passive data channel quit (pid 119713) 20:54:38.068735 =====> Closed passive DATA connection 20:54:38.068762 > "226 File transfer complete[CR][LF]" 20:54:38.112400 < "QUIT" 20:54:38.112455 > "221 bye bye baby[CR][LF]" 20:54:38.112579 MAIN sockfilt said DISC 20:54:38.112605 ====> Client disconnected 20:54:38.112666 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.285110 ====> Client connect 20:54:38.285418 Received DATA (on stdin) 20:54:38.285431 > 160 bytes data, server => client 20:54:38.285440 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.285449 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.285456 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.285516 < 16 bytes data, client => server 20:54:38.285529 'USER anonymous\r\n' 20:54:38.285670 Received DATA (on stdin) 20:54:38.285680 > 33 bytes data, server => client 20:54:38.285688 '331 We are happy you popped in!\r\n' 20:54:38.285732 < 22 bytes data, client => server 20:54:38.285742 'PASS ftp@example.com\r\n' 20:54:38.285813 Received DATA (on stdin) 20:54:38.285824 > 30 bytes data, server => client 20:54:38.285835 '230 Welcome you silly person\r\n' 20:54:38.285874 < 5 bytes data, client => server 20:54:38.285884 'PWD\r\n' 20:54:38.285959 Received DATA (on stdin) 20:54:38.285984 > 30 bytes data, server => client 20:54:38.285995 '257 "/" is current directory\r\n' 20:54:38.286096 < 6 bytes data, client => server 20:54:38.286111 'EPSV\r\n' 20:54:38.289103 Received DATA (on stdin) 20:54:38.289115 > 38 bytes data, server => client 20:54:38.289124 '229 Entering Passive Mode (|||46721|)\n' 20:54:38.289217 < 8 bytes data, client => server 20:54:38.289229 'TYPE I\r\n' 20:54:38.289373 Received DATA (on stdin) 20:54:38.289383 > 33 bytes data, server => client 20:54:38.289391 '200 I modify TYPE as you wanted\r\n' 20:54:38.289429 < 21 bytes data, client => server 20:54:38.289437 'SIZE verifiedserver\r\n' 20:54:38.289514 Received DATA (on stdin) 20:54:38.289525 > 8 bytes data, server => client 20:54:38.289535 '213 18\r\n' 20:54:38.289577 < 21 bytes data, client => server 20:54:38.289588 'RETR verifiedserver\r\n' 20:54:38.289775 Received DATA (on stdin) 20:54:38.289787 > 29 bytes data, server => client 20:54:38.289797 '150 Binary junk (18 bytes).\r\n' 20:54:38.290277 Received DATA (on stdin) 20:54:38.290291 > 28 bytes data, server => client 20:54:38.290301 '226 File transfer complete\r\n' 20:54:38.333735 < 6 bytes data, client => server 20:54:38.333758 'QUIT\r\n' 20:54:38.333974 Received DATA (on stdin) 20:54:38.333986 > 18 bytes data, server => client 20:54:38.333996 '221 bye bye baby\r\n' 20:54:38.334044 ====> Client disconnect 20:54:38.334177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.288726 Running IPv4 version 20:54:38.288783 Listening on port 46721 20:54:38.288823 Wrote pid 119713 to log/17/server/ftp_sockdata.pid 20:54:38.288843 Received PING (on stdin) 20:54:38.288939 Received PORT (on stdin) 20:54:38.289207 ====> Client connect 20:54:38.289824 Received DATA (on stdin) 20:54:38.289837 > 18 bytes data, server => client 20:54:38.289847 'WE ROOLZ: 110706\r\n' 20:54:38.289867 Received DISC (on stdin) 20:54:38.289880 ====> Client forcibly disconnected 20:54:38.290025 Received QUIT (on stdin) 20:54:38.290036 quits 20:54:38.290091 ============> 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 ==119885== ==119885== Process terminating with default action of signal 4 (SIGILL) ==119885== Illegal opcode at address 0x4003082 ==119885== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119885== by 0x4003082: main (tool_main.c:243) === 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/15/valgrind248 ../src/curl -q --output log/15/curl248.out --include --trace-ascii log/15/trace248 --trace-config all --trace-time ftp://127.0.0.1:41165/248 -T log/15/test248.txt -z "apr 1 2005 08:00:00" > log/15/stdout248 2> log/15/stderr248 248: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir CMD (33792): ../libtool --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:39489/ > log/9/stdout250 2> log/9/stderr250 after test 248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind248 ../src/curl -q --output log/15/curl248.out --include --trace-ascii log/15/trace248 --trace-config all --trace-time ftp://127.0.0.1:41165/248 -T log/15/test248.txt -z "apr 1 2005 08:00:00" > log/15/stdout248 2> log/15/stderr248 === End of file commands.log === Start of file ftp_server.log 20:54:38.066080 ====> Client connect 20:54:38.066248 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.066596 < "USER anonymous" 20:54:38.066635 > "331 We are happy you popped in![CR][LF]" 20:54:38.066865 < "PASS ftp@example.com" 20:54:38.066893 > "230 Welcome you silly person[CR][LF]" 20:54:38.067259 < "PWD" 20:54:38.067289 > "257 "/" is current directory[CR][LF]" 20:54:38.067451 < "EPSV" 20:54:38.067477 ====> Passive DATA channel requested by client 20:54:38.067489 DATA sockfilt for passive data channel starting... 20:54:38.068970 DATA sockfilt for passive data channel started (pid 119715) 20:54:38.069063 DATA sockfilt for passive data channel listens on port 42323 20:54:38.069111 > "229 Entering Passive Mode (|||42323|)[LF]" 20:54:38.069164 Client has been notified that DATA conn will be accepted on port 42323 20:54:38.069286 Client connects to port 42323 20:54:38.069310 ====> Client established passive DATA connection on port 42323 20:54:38.070213 < "TYPE I" 20:54:38.070273 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.070472 < "SIZE verifiedserver" 20:54:38.070530 > "213 18[CR][LF]" 20:54:38.070840 < "RETR verifiedserver" 20:54:38.070883 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.070962 =====> Closing passive DATA connection... 20:54:38.070978 Server disconnects passive DATA connection 20:54:38.071061 Server disconnected passive DATA connection 20:54:38.071082 DATA sockfilt for passive data channel quits (pid 119715) 20:54:38.071310 DATA sockfilt for passive data channel quit (pid 119715) 20:54:38.071334 =====> Closed passive DATA connection 20:54:38.071364 > "226 File transfer complete[CR][LF]" 20:54:38.112358 < "QUIT" 20:54:38.112413 > "221 bye bye baby[CR][LF]" 20:54:38.112790 MAIN sockfilt said DISC 20:54:38.112829 ====> Client disconnected 20:54:38.112881 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.287497 ====> Client connect 20:54:38.287784 Received DATA (on stdin) 20:54:38.287804 > 160 bytes data, server => client 20:54:38.287821 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.287832 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.287843 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.287928 < 16 bytes data, client => server 20:54:38.287948 'USER anonymous\r\n' 20:54:38.288187 Received DATA (on stdin) 20:54:38.288218 > 33 bytes data, server => client 20:54:38.288229 '331 We are happy you popped in!\r\n' 20:54:38.288283 < 22 bytes data, client => server 20:54:38.288294 'PASS ftp@example.com\r\n' 20:54:38.288634 Received DATA (on stdin) 20:54:38.288653 > 30 bytes data, server => client 20:54:38.288662 '230 Welcome you silly person\r\n' 20:54:38.288711 < 5 bytes data, client => server 20:54:38.288719 'PWD\r\n' 20:54:38.288803 Received DATA (on stdin) 20:54:38.288818 > 30 bytes data, server => client 20:54:38.288828 '257 "/" is current directory\r\n' 20:54:38.288890 < 6 bytes data, client => server 20:54:38.288901 'EPSV\r\n' 20:54:38.290611 Received DATA (on stdin) 20:54:38.290633 > 38 bytes data, server => client 20:54:38.290645 '229 Entering Passive Mode (|||42323|)\n' 20:54:38.290762 < 8 bytes data, client => server 20:54:38.290779 'TYPE I\r\n' 20:54:38.291792 Received DATA (on stdin) 20:54:38.291805 > 33 bytes data, server => client 20:54:38.291815 '200 I modify TYPE as you wanted\r\n' 20:54:38.291867 < 21 bytes data, client => server 20:54:38.291886 'SIZE verifiedserver\r\n' 20:54:38.292051 Received DATA (on stdin) 20:54:38.292065 > 8 bytes data, server => client 20:54:38.292093 '213 18\r\n' 20:54:38.292178 < 21 bytes data, client => server 20:54:38.292196 'RETR verifiedserver\r\n' 20:54:38.292482 Received DATA (on stdin) 20:54:38.292501 > 29 bytes data, server => client 20:54:38.292513 '150 Binary junk (18 bytes).\r\n' 20:54:38.292881 Received DATA (on stdin) 20:54:38.292893 > 28 bytes data, server => client 20:54:38.292903 '226 File transfer complete\r\n' 20:54:38.333698 < 6 bytes data, client => server 20:54:38.333722 'QUIT\r\n' 20:54:38.333929 Received DATA (on stdin) 20:54:38.333941 > 18 bytes data, server => client 20:54:38.333950 '221 bye bye baby\r\n' 20:54:38.334238 ====> Client disconnect 20:54:38.334396 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.290335 Running IPv4 version 20:54:38.290376 Listening on port 42323 20:54:38.290421 Wrote pid 119715 to log/15/server/ftp_sockdata.pid 20:54:38.290435 Received PING (on stdin) 20:54:38.290509 Received PORT (on stdin) 20:54:38.290751 ====> Client connect 20:54:38.292412 Received DATA (on stdin) 20:54:38.292431 > 18 bytes data, server => client 20:54:38.292442 'WE ROOLZ: 110834\r\n' 20:54:38.292502 Received DISC (on stdin) 20:54:38.292520 ====> Client forcibly disconnected 20:54:38.292599 Received QUIT (on stdin) 20:54:38.292610 quits 20:54:38.292671 ============> 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 ==119888== ==119888== Process terminating with default action of signal 4 (SIGILL) ==119888== Illegal opcode at address 0x4003082 ==119888== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==119888== by 0x4003082: main (tool_main.c:243) === 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:39489/ > 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 commands.log ../libtool --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:39489/ > log/9/stdout250 2> log/9/stderr250 === End of file commands.log === Start of file ftp_server.log 20:54:38.123198 ====> Client connect 20:54:38.123314 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.123569 < "USER anonymous" 20:54:38.123595 > "331 We are happy you popped in![CR][LF]" 20:54:38.123731 < "PASS ftp@example.com" 20:54:38.123805 > "230 Welcome you silly person[CR][LF]" 20:54:38.124142 < "PWD" 20:54:38.124177 > "257 "/" is current directory[CR][LF]" 20:54:38.124426 < "EPSV" 20:54:38.124452 ====> Passive DATA channel requested by client 20:54:38.124464 DATA sockfilt for passive data channel starting... 20:54:38.126379 DATA sockfilt for passive data channel started (pid 119874) 20:54:38.126514 DATA sockfilt for passive data channel listens on port 42977 20:54:38.126565 > "229 Entering Passive Mode (|||42977|)[LF]" 20:54:38.126581 Client haCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind256 ../src/curl -q --include --trace-ascii log/18/trace256 --trace-config all --trace-time -x http://127.0.0.1:34637 http://127.0.0.1:34637/want/256 -C - --no-include -o log/18/fewl256.txt -U daniel:stenberg > log/18/stdout256 2> log/18/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/8/valgrind251 ../src/curl -q --output log/8/curl251.out --include --trace-ascii log/8/trace251 --trace-config all --trace-time ftp://127.0.0.1:39989/ -P 127.0.0.1 > log/8/stdout251 2> log/8/stderr251 s been notified that DATA conn will be accepted on port 42977 20:54:38.126809 Client connects to port 42977 20:54:38.126852 ====> Client established passive DATA connection on port 42977 20:54:38.126923 < "TYPE I" 20:54:38.126953 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.127129 < "SIZE verifiedserver" 20:54:38.127173 > "213 18[CR][LF]" 20:54:38.127336 < "RETR verifiedserver" 20:54:38.127377 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.127451 =====> Closing passive DATA connection... 20:54:38.127465 Server disconnects passive DATA connection 20:54:38.127595 Server disconnected passive DATA connection 20:54:38.127624 DATA sockfilt for passive data channel quits (pid 119874) 20:54:38.127842 DATA sockfilt for passive data channel quit (pid 119874) 20:54:38.127872 =====> Closed passive DATA connection 20:54:38.127901 > "226 File transfer complete[CR][LF]" 20:54:38.169234 < "QUIT" 20:54:38.169287 > "221 bye bye baby[CR][LF]" 20:54:38.169525 MAIN sockfilt said DISC 20:54:38.169572 ====> Client disconnected 20:54:38.169629 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.344596 ====> Client connect 20:54:38.344834 Received DATA (on stdin) 20:54:38.344847 > 160 bytes data, server => client 20:54:38.344858 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.344868 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.344877 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.344966 < 16 bytes data, client => server 20:54:38.344977 'USER anonymous\r\n' 20:54:38.345106 Received DATA (on stdin) 20:54:38.345115 > 33 bytes data, server => client 20:54:38.345122 '331 We are happy you popped in!\r\n' 20:54:38.345162 < 22 bytes data, client => server 20:54:38.345170 'PASS ftp@example.com\r\n' 20:54:38.345295 Received DATA (on stdin) 20:54:38.345304 > 30 bytes data, server => client 20:54:38.345312 '230 Welcome you silly person\r\n' 20:54:38.345346 < 5 bytes data, client => server 20:54:38.345354 'PWD\r\n' 20:54:38.345707 Received DATA (on stdin) 20:54:38.345722 > 30 bytes data, server => client 20:54:38.345732 '257 "/" is current directory\r\n' 20:54:38.345845 < 6 bytes data, client => server 20:54:38.345867 'EPSV\r\n' 20:54:38.348104 Received DATA (on stdin) 20:54:38.348120 > 38 bytes data, server => client 20:54:38.348129 '229 Entering Passive Mode (|||42977|)\n' 20:54:38.348295 < 8 bytes data, client => server 20:54:38.348304 'TYPE I\r\n' 20:54:38.348468 Received DATA (on stdin) 20:54:38.348484 > 33 bytes data, server => client 20:54:38.348495 '200 I modify TYPE as you wanted\r\n' 20:54:38.348558 < 21 bytes data, client => server 20:54:38.348568 'SIZE verifiedserver\r\n' 20:54:38.348679 Received DATA (on stdin) 20:54:38.348702 > 8 bytes data, server => client 20:54:38.348713 '213 18\r\n' 20:54:38.348767 < 21 bytes data, client => server 20:54:38.348784 'RETR verifiedserver\r\n' 20:54:38.348869 Received DATA (on stdin) 20:54:38.348880 > 29 bytes data, server => client 20:54:38.348890 '150 Binary junk (18 bytes).\r\n' 20:54:38.349438 Received DATA (on stdin) 20:54:38.349459 > 28 bytes data, server => client 20:54:38.349469 '226 File transfer complete\r\n' 20:54:38.390379 < 6 bytes data, client => server 20:54:38.390405 'QUIT\r\n' 20:54:38.390803 Received DATA (on stdin) 20:54:38.390815 > 18 bytes data, server => client 20:54:38.390825 '221 bye bye baby\r\n' 20:54:38.390934 ====> Client disconnect 20:54:38.391197 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.347701 Running IPv4 version 20:54:38.347771 Listening on port 42977 20:54:38.347809 Wrote pid 119874 to log/9/server/ftp_sockdata.pid 20:54:38.347828 Received PING (on stdin) 20:54:38.347939 Received PORT (on stdin) 20:54:38.348272 ====> Client connect 20:54:38.348945 Received DATA (on stdin) 20:54:38.348963 > 18 bytes data, server => client 20:54:38.348974 'WE ROOLZ: 110717\r\n' 20:54:38.349000 Received DISC (on stdin) 20:54:38.349011 ====> Client forcibly disconnected 20:54:38.349146 Received QUIT (on stdin) 20:54:38.349156 quits 20:54:38.349207 ============> 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 ==120039== ==120039== Process terminating with default action of signal 4 (SIGILL) ==120039== Illegal opcode at address 0x4003082 ==120039== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120039== by 0x4003082: main (tool_main.c:243) === End of file valgrind250 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/18/valgrind256 ../src/curl -q --include --trace-ascii log/18/trace256 --trace-config all --trace-time -x http://127.0.0.1:34637 http://127.0.0.1:34637/want/256 -C - --no-include -o log/18/fewl256.txt -U daniel:stenberg > log/18/stdout256 2> log/18/stderr256 256: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind256 ../src/curl -q --include --trace-ascii log/18/trace256 --trace-config all --trace-time -x http://127.0.0.1:34637 http://127.0.0.1:34637/want/256 -C - --no-include -o log/18/fewl256.txt -U daniel:stenberg > log/18/stdout256 2> log/18/stderr256 === End of file commands.log === 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 20:54:38.414596 ====> Client connect 20:54:38.414620 accept_connection 3 returned 4 20:54:38.414634 accept_connection 3 returned 0 20:54:38.414645 Read 93 bytes 20:54:38.414653 Process 93 bytes request 20:54:38.414663 Got request: GET /verifiedserver HTTP/1.1 20:54:38.414671 Are-we-friendly question received 20:54:38.414688 Wrote request (93 bytes) input to log/18/server.input 20:54:38.414700 Identifying ourselves as friends 20:54:38.414746 Response sent (57 bytes) and written to log/18/server.response 20:54:38.414754 special request received, no persistency 20:54:38.414762 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind256 ==120097== ==120097== Process terminating with default action of signal 4 (SIGILL) ==120097== Illegal opcode at address 0x4003082 ==120097== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120097== by 0x4003082: main (tool_main.c:243) === End of file valgrind256 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/8/valgrind251 ../src/curl -q --output log/8/curl251.out --include --trace-ascii log/8/trace251 --trace-config all --trace-time ftp://127.0.0.1:39989/ -P 127.0.0.1 > log/8/stdout251 2> log/8/stderr251 251: protocol FAILED! There was no content at all in the file log/8/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/1/valgrind257 ../src/curl -q --output log/1/curl257.out --include --trace-ascii log/1/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:42503 --netrc-optional --netrc-file log/1/netrc257 > log/1/stdout257 2> log/1/stderr257 r.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 251 === Start of file commands.log ../libtool --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/valgrind251 ../src/curl -q --output log/8/curl251.out --include --trace-ascii log/8/trace251 --trace-config all --trace-time ftp://127.0.0.1:39989/ -P 127.0.0.1 > log/8/stdout251 2> log/8/stderr251 === End of file commands.log === Start of file ftp_server.log 20:54:38.148574 ====> Client connect 20:54:38.148723 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.149008 < "USER anonymous" 20:54:38.149040 > "331 We are happy you popped in![CR][LF]" 20:54:38.149182 < "PASS ftp@example.com" 20:54:38.149206 > "230 Welcome you silly person[CR][LF]" 20:54:38.149338 < "PWD" 20:54:38.149363 > "257 "/" is current directory[CR][LF]" 20:54:38.149493 < "EPSV" 20:54:38.149514 ====> Passive DATA channel requested by client 20:54:38.149526 DATA sockfilt for passive data channel starting... 20:54:38.151560 DATA sockfilt for passive data channel started (pid 119966) 20:54:38.151685 DATA sockfilt for passive data channel listens on port 37661 20:54:38.151730 > "229 Entering Passive Mode (|||37661|)[LF]" 20:54:38.151750 Client has been notified that DATA conn will be accepted on port 37661 20:54:38.152040 Client connects to port 37661 20:54:38.152069 ====> Client established passive DATA connection on port 37661 20:54:38.152154 < "TYPE I" 20:54:38.152186 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.152574 < "SIZE verifiedserver" 20:54:38.152618 > "213 18[CR][LF]" 20:54:38.152745 < "RETR verifiedserver" 20:54:38.152779 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.152859 =====> Closing passive DATA connection... 20:54:38.152874 Server disconnects passive DATA connection 20:54:38.152945 Server disconnected passive DATA connection 20:54:38.152965 DATA sockfilt for passive data channel quits (pid 119966) 20:54:38.153221 DATA sockfilt for passive data channel quit (pid 119966) 20:54:38.153245 =====> Closed passive DATA connection 20:54:38.153271 > "226 File transfer complete[CR][LF]" 20:54:38.196111 < "QUIT" 20:54:38.196163 > "221 bye bye baby[CR][LF]" 20:54:38.196277 MAIN sockfilt said DISC 20:54:38.196302 ====> Client disconnected 20:54:38.196370 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.369986 ====> Client connect 20:54:38.370247 Received DATA (on stdin) 20:54:38.370260 > 160 bytes data, server => client 20:54:38.370272 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.370282 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.370292 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.370394 < 16 bytes data, client => server 20:54:38.370406 'USER anonymous\r\n' 20:54:38.370554 Received DATA (on stdin) 20:54:38.370564 > 33 bytes data, server => client 20:54:38.370574 '331 We are happy you popped in!\r\n' 20:54:38.370619 < 22 bytes data, client => server 20:54:38.370629 'PASS ftp@example.com\r\n' 20:54:38.370717 Received DATA (on stdin) 20:54:38.370729 > 30 bytes data, server => client 20:54:38.370739 '230 Welcome you silly person\r\n' 20:54:38.370780 < 5 bytes data, client => server 20:54:38.370790 'PWD\r\n' 20:54:38.370873 Received DATA (on stdin) 20:54:38.370883 > 30 bytes data, server => client 20:54:38.370892 '257 "/" is current directory\r\n' 20:54:38.370939 < 6 bytes data, client => server 20:54:38.370948 'EPSV\r\n' 20:54:38.373275 Received DATA (on stdin) 20:54:38.373293 > 38 bytes data, server => client 20:54:38.373305 '229 Entering Passive Mode (|||37661|)\n' 20:54:38.373494 < 8 bytes data, client => server 20:54:38.373507 'TYPE I\r\n' 20:54:38.373709 Received DATA (on stdin) 20:54:38.373730 > 33 bytes data, server => client 20:54:38.373742 '200 I modify TYPE as you wanted\r\n' 20:54:38.373982 < 21 bytes data, client => server 20:54:38.373996 'SIZE verifiedserver\r\n' 20:54:38.374132 Received DATA (on stdin) 20:54:38.374143 > 8 bytes data, server => client 20:54:38.374152 '213 18\r\n' 20:54:38.374200 < 21 bytes data, client => server 20:54:38.374218 'RETR verifiedserver\r\n' 20:54:38.374389 Received DATA (on stdin) 20:54:38.374400 > 29 bytes data, server => client 20:54:38.374411 '150 Binary junk (18 bytes).\r\n' 20:54:38.374783 Received DATA (on stdin) 20:54:38.374795 > 28 bytes data, server => client 20:54:38.374805 '226 File transfer complete\r\n' 20:54:38.417465 < 6 bytes data, client => server 20:54:38.417488 'QUIT\r\n' 20:54:38.417682 Received DATA (on stdin) 20:54:38.417695 > 18 bytes data, server => client 20:54:38.417706 '221 bye bye baby\r\n' 20:54:38.417749 ====> Client disconnect 20:54:38.417809 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.372912 Running IPv4 version 20:54:38.372967 Listening on port 37661 20:54:38.372999 Wrote pid 119966 to log/8/server/ftp_sockdata.pid 20:54:38.373018 Received PING (on stdin) 20:54:38.373109 Received PORT (on stdin) 20:54:38.373465 ====> Client connect 20:54:38.374305 Received DATA (on stdin) 20:54:38.374319 > 18 bytes data, server => client 20:54:38.374330 'WE ROOLZ: 110704\r\n' 20:54:38.374390 Received DISC (on stdin) 20:54:38.374405 ====> Client forcibly disconnected 20:54:38.374487 Received QUIT (on stdin) 20:54:38.374503 quits 20:54:38.374553 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 251 === End of file server.cmd === Start of file valgrind251 ==120105== ==120105== Process terminating with default action of signal 4 (SIGILL) ==120105== Illegal opcode at address 0x4003082 ==120105== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120105== by 0x4003082: main (tool_main.c:243) === End of file valgrind251 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/1/valgrind257 ../src/curl -q --output log/1/curl257.out --include --trace-ascii log/1/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:42503 --netrc-optional --netrc-file log/1/netrc257 > log/1/stdout257 2> log/1/stderr257 257: 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 257 === Start of file commands.log ../libtool --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/valgrind257 ../src/curl -q --output log/1/curl257.out --include --trace-ascii log/1/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:42503 --netrc-optional --netrc-file log/1/netrc257 > log/1/stdout257 2> log/1/stderr257 === End of file commands.log === Start of file http_server.log 20:54:38.415105 ====> Client connect 20:54:38.415135 accept_connection 3 returned 4 20:54:38.415152 accept_connection 3 returned 0 20:54:38.415165 Read 93 bytes 20:54:38.415174 Process 93 bytes request 20:54:38.415185 Got request: GET /verifiedserver HTTP/1.1 20:54:38.415194 Are-we-friendly question received 20:54:38.415213 Wrote request (93 bytes) input to log/1/server.input 20:54:38.415228 Identifying ourselves as friends 20:54:38.415273 Response sent (57 bytes) and written to log/1/server.response 20:54:38.415282 special request received, no persistency 20:54:38.415291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * 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/14/valgrind258 ../src/curl -q --output log/14/curl258.out --include --trace-ascii log/14/trace258 --trace-config all --trace-time -x http://127.0.0.1:35661 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/14/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/14/stdout258 2> log/14/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/16/valgrind259 ../src/curl -q --output log/16/curl259.out --include --trace-ascii log/16/trace259 --trace-config all --trace-time -x http://127.0.0.1:33409 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/16/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/16/stdout259 2> log/16/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/10/valgrind260 ../src/curl -q --output log/10/curl260.out --include --trace-ascii log/10/trace260 --trace-config all --trace-time "http://127.0.0.1:43831?260" > log/10/stdout260 2> log/10/stderr260 server HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind257 ==120125== ==120125== Process terminating with default action of signal 4 (SIGILL) ==120125== Illegal opcode at address 0x4003082 ==120125== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120125== by 0x4003082: main (tool_main.c:243) === End of file valgrind257 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/14/valgrind258 ../src/curl -q --output log/14/curl258.out --include --trace-ascii log/14/trace258 --trace-config all --trace-time -x http://127.0.0.1:35661 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/14/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/14/stdout258 2> log/14/stderr258 258: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind258 ../src/curl -q --output log/14/curl258.out --include --trace-ascii log/14/trace258 --trace-config all --trace-time -x http://127.0.0.1:35661 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/14/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/14/stdout258 2> log/14/stderr258 === End of file commands.log === Start of file http_server.log 20:54:38.445047 ====> Client connect 20:54:38.445079 accept_connection 3 returned 4 20:54:38.445095 accept_connection 3 returned 0 20:54:38.445109 Read 93 bytes 20:54:38.445118 Process 93 bytes request 20:54:38.445131 Got request: GET /verifiedserver HTTP/1.1 20:54:38.445140 Are-we-friendly question received 20:54:38.445163 Wrote request (93 bytes) input to log/14/server.input 20:54:38.445178 Identifying ourselves as friends 20:54:38.445227 Response sent (57 bytes) and written to log/14/server.response 20:54:38.445236 special request received, no persistency 20:54:38.445246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === 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 ==120266== ==120266== Process terminating with default action of signal 4 (SIGILL) ==120266== Illegal opcode at address 0x4003082 ==120266== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120266== by 0x4003082: main (tool_main.c:243) === End of file valgrind258 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/16/valgrind259 ../src/curl -q --output log/16/curl259.out --include --trace-ascii log/16/trace259 --trace-config all --trace-time -x http://127.0.0.1:33409 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/16/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/16/stdout259 2> log/16/stderr259 259: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind259 ../src/curl -q --output log/16/curl259.out --include --trace-ascii log/16/trace259 --trace-config all --trace-time -x http://127.0.0.1:33409 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/16/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/16/stdout259 2> log/16/stderr259 === End of file commands.log === Start of file http_server.log 20:54:38.666835 ====> Client connect 20:54:38.666910 accept_connection 3 returned 4 20:54:38.666929 accept_connection 3 returned 0 20:54:38.666945 Read 93 bytes 20:54:38.666955 Process 93 bytes request 20:54:38.666969 Got request: GET /verifiedserver HTTP/1.1 20:54:38.666978 Are-we-friendly question received 20:54:38.667002 Wrote request (93 bytes) input to log/16/server.input 20:54:38.667018 Identifying ourselves as friends 20:54:38.668094 Response sent (57 bytes) and written to log/16/server.response 20:54:38.668108 special request received, no persistency 20:54:38.668117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === 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 ==120401== ==120401== Process terminating with default action of signal 4 (SIGILL) ==120401== Illegal opcode at address 0x4003082 ==120401== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120401== by 0x4003082: main (tool_main.c:243) === End of file valgrind259 test 0260...[HTTP GET URL without slash but with question mark] ../libtool --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/valgrind260 ../src/curl -q --output log/10/curl260.out --include --trace-ascii log/10/trace260 --trace-config all --trace-time "http://127.0.0.1:43831?260" > log/10/stdout260 2> log/10/stderr260 260: 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 260 === Start of file commands.log ../libtool --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/valgrind260 ../src/curl -q --output log/10/curl260.out --include --trace-ascii CMD (33792): ../libtool --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/valgrind262 ../src/curl -q --output log/12/curl262.out --include --trace-ascii log/12/trace262 --trace-config all --trace-time http://127.0.0.1:33337/262 > log/12/stdout262 2> log/12/stderr262 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind261 ../src/curl -q --output log/19/curl261.out --include --trace-ascii log/19/trace261 --trace-config all --trace-time ftp://127.0.0.1:44763/261 > log/19/stdout261 2> log/19/stderr261 log/10/trace260 --trace-config all --trace-time "http://127.0.0.1:43831?260" > log/10/stdout260 2> log/10/stderr260 === End of file commands.log === Start of file http_server.log 20:54:38.674174 ====> Client connect 20:54:38.674205 accept_connection 3 returned 4 20:54:38.674222 accept_connection 3 returned 0 20:54:38.674236 Read 93 bytes 20:54:38.674245 Process 93 bytes request 20:54:38.674257 Got request: GET /verifiedserver HTTP/1.1 20:54:38.674266 Are-we-friendly question received 20:54:38.674289 Wrote request (93 bytes) input to log/10/server.input 20:54:38.674305 Identifying ourselves as friends 20:54:38.674356 Response sent (57 bytes) and written to log/10/server.response 20:54:38.674366 special request received, no persistency 20:54:38.674375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind260 ==120402== ==120402== Process terminating with default action of signal 4 (SIGILL) ==120402== Illegal opcode at address 0x4003082 ==120402== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120402== by 0x4003082: main (tool_main.c:243) === End of file valgrind260 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/12/valgrind262 ../src/curl -q --output log/12/curl262.out --include --trace-ascii log/12/trace262 --trace-config all --trace-time http://127.0.0.1:33337/262 > log/12/stdout262 2> log/12/stderr262 262: 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 262 === Start of file commands.log ../libtool --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/valgrind262 ../src/curl -q --output log/12/curl262.out --include --trace-ascii log/12/trace262 --trace-config all --trace-time http://127.0.0.1:33337/262 > log/12/stdout262 2> log/12/stderr262 === End of file commands.log === Start of file http_server.log 20:54:38.696249 ====> Client connect 20:54:38.696273 accept_connection 3 returned 4 20:54:38.696286 accept_connection 3 returned 0 20:54:38.696326 Read 93 bytes 20:54:38.696338 Process 93 bytes request 20:54:38.696349 Got request: GET /verifiedserver HTTP/1.1 20:54:38.696356 Are-we-friendly question received 20:54:38.696378 Wrote request (93 bytes) input to log/12/server.input 20:54:38.696391 Identifying ourselves as friends 20:54:38.696443 Response sent (57 bytes) and written to log/12/server.response 20:54:38.696450 special request received, no persistency 20:54:38.696456 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === End of file http_verify.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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind262 ==120466== ==120466== Process terminating with default action of signal 4 (SIGILL) ==120466== Illegal opcode at address 0x4003082 ==120466== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120466== by 0x4003082: main (tool_main.c:243) === End of file valgrind262 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/19/valgrind261 ../src/curl -q --output log/19/curl261.out --include --trace-ascii log/19/trace261 --trace-config all --trace-time ftp://127.0.0.1:44763/261 > log/19/stdout261 2> log/19/stderr261 261: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 261 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind261 ../src/curl -q --output log/19/curl261.out --include --trace-ascii log/19/trace261 --trace-config all --trace-time ftp://127.0.0.1:44763/261 > log/19/stdout261 2> log/19/stderr261 === End of file commands.log === Start of file ftp_server.log 20:54:38.456407 ====> Client connect 20:54:38.456516 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.456708 < "USER anonymous" 20:54:38.456735 > "331 We are happy you popped in![CR][LF]" 20:54:38.456848 < "PASS ftp@example.com" 20:54:38.456865 > "230 Welcome you silly person[CR][LF]" 20:54:38.456964 < "PWD" 20:54:38.456985 > "257 "/" is current directory[CR][LF]" 20:54:38.457090 < "EPSV" 20:54:38.457106 ====> Passive DATA channel requested by client 20:54:38.457116 DATA sockfilt for passive data channel starting... 20:54:38.458200 DATA sockfilt for passive data channel started (pid 120391) 20:54:38.458299 DATA sockfilt for passive data channel listens on port 34017 20:54:38.458337 > "229 Entering Passive Mode (|||34017|)[LF]" 20:54:38.458353 Client has been notified that DATA conn will be accepted on port 34017 20:54:38.458625 Client connects to port 34017 20:54:38.458713 ====> Client established passive DATA connection on port 34017 20:54:38.458784 < "TYPE I" 20:54:38.458807 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.458952 < "SIZE verifiedserver" 20:54:38.458983 > "213 18[CR][LF]" 20:54:38.459091 < "RETR verifiedserver" 20:54:38.459115 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.459170 =====> Closing passive DATA connection... 20:54:38.459182 Server disconnects passive DATA connection 20:54:38.459301 Server disconnected passive DATA connection 20:54:38.459331 DATA sockfilt for passive data channel quits (pid 120391) 20:54:38.459506 DATA sockfilt for passive data channel quit (pid 120391) 20:54:38.459530 =====> Closed passive DATA connection 20:54:38.459552 > "226 File transfer complete[CR][LF]" 20:54:38.502355 < "QUIT" 20:54:38.502402 > "221 bye bye baby[CR][LF]" 20:54:38.502919 MAIN sockfilt said DISC 20:54:38.502946 ====> Client disconnected 20:54:38.503001 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.677842 ====> Client connect 20:54:38.678033 Received DATA (on stdin) 20:54:38.678044 > 160 bytes data, server => client 20:54:38.678053 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.678061 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.678068 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.678118 < 16 bytes data, client => server 20:54:38.678127 'USER anonymous\r\n' 20:54:38.678245 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/2/valgrind264 ../src/curl -q --output log/2/curl264.out --include --trace-ascii log/2/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43815 > log/2/stdout264 2> log/2/stderr264 CMD (33792): ../libtool --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/valgrind267 ../src/curl -q --output log/4/curl267.out --include --trace-ascii log/4/trace267 --trace-config all --trace-time http://127.0.0.1:35779/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/4/stdout267 2> log/4/stderr267 DATA (on stdin) 20:54:38.678254 > 33 bytes data, server => client 20:54:38.678261 '331 We are happy you popped in!\r\n' 20:54:38.678296 < 22 bytes data, client => server 20:54:38.678305 'PASS ftp@example.com\r\n' 20:54:38.678372 Received DATA (on stdin) 20:54:38.678380 > 30 bytes data, server => client 20:54:38.678387 '230 Welcome you silly person\r\n' 20:54:38.678419 < 5 bytes data, client => server 20:54:38.678426 'PWD\r\n' 20:54:38.678491 Received DATA (on stdin) 20:54:38.678499 > 30 bytes data, server => client 20:54:38.678507 '257 "/" is current directory\r\n' 20:54:38.678544 < 6 bytes data, client => server 20:54:38.678552 'EPSV\r\n' 20:54:38.679879 Received DATA (on stdin) 20:54:38.679931 > 38 bytes data, server => client 20:54:38.679945 '229 Entering Passive Mode (|||34017|)\n' 20:54:38.680073 < 8 bytes data, client => server 20:54:38.680089 'TYPE I\r\n' 20:54:38.680319 Received DATA (on stdin) 20:54:38.680331 > 33 bytes data, server => client 20:54:38.680346 '200 I modify TYPE as you wanted\r\n' 20:54:38.680393 < 21 bytes data, client => server 20:54:38.680482 'SIZE verifiedserver\r\n' 20:54:38.680495 Received DATA (on stdin) 20:54:38.680504 > 8 bytes data, server => client 20:54:38.680512 '213 18\r\n' 20:54:38.680550 < 21 bytes data, client => server 20:54:38.680561 'RETR verifiedserver\r\n' 20:54:38.680691 Received DATA (on stdin) 20:54:38.680700 > 29 bytes data, server => client 20:54:38.680707 '150 Binary junk (18 bytes).\r\n' 20:54:38.681062 Received DATA (on stdin) 20:54:38.681072 > 28 bytes data, server => client 20:54:38.681080 '226 File transfer complete\r\n' 20:54:38.723700 < 6 bytes data, client => server 20:54:38.723722 'QUIT\r\n' 20:54:38.723916 Received DATA (on stdin) 20:54:38.723927 > 18 bytes data, server => client 20:54:38.723936 '221 bye bye baby\r\n' 20:54:38.724387 ====> Client disconnect 20:54:38.724513 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.679571 Running IPv4 version 20:54:38.679615 Listening on port 34017 20:54:38.679644 Wrote pid 120391 to log/19/server/ftp_sockdata.pid 20:54:38.679661 Received PING (on stdin) 20:54:38.679739 Received PORT (on stdin) 20:54:38.680098 ====> Client connect 20:54:38.680726 Received DATA (on stdin) 20:54:38.680745 > 18 bytes data, server => client 20:54:38.680754 'WE ROOLZ: 110642\r\n' 20:54:38.680775 Received DISC (on stdin) 20:54:38.680783 ====> Client forcibly disconnected 20:54:38.680856 Received QUIT (on stdin) 20:54:38.680868 quits 20:54:38.680911 ============> 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 ==120555== ==120555== Process terminating with default action of signal 4 (SIGILL) ==120555== Illegal opcode at address 0x4003082 ==120555== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120555== by 0x4003082: main (tool_main.c:243) === End of file valgrind261 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/2/valgrind264 ../src/curl -q --output log/2/curl264.out --include --trace-ascii log/2/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43815 > log/2/stdout264 2> log/2/stderr264 264: 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 264 === Start of file commands.log ../libtool --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/valgrind264 ../src/curl -q --output log/2/curl264.out --include --trace-ascii log/2/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43815 > log/2/stdout264 2> log/2/stderr264 === End of file commands.log === Start of file http_server.log 20:54:38.782379 ====> Client connect 20:54:38.782404 accept_connection 3 returned 4 20:54:38.782417 accept_connection 3 returned 0 20:54:38.782428 Read 93 bytes 20:54:38.782436 Process 93 bytes request 20:54:38.782447 Got request: GET /verifiedserver HTTP/1.1 20:54:38.782454 Are-we-friendly question received 20:54:38.782471 Wrote request (93 bytes) input to log/2/server.input 20:54:38.782483 Identifying ourselves as friends 20:54:38.782553 Response sent (57 bytes) and written to log/2/server.response 20:54:38.782572 special request received, no persistency 20:54:38.782582 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind264 ==120666== ==120666== Process terminating with default action of signal 4 (SIGILL) ==120666== Illegal opcode at address 0x4003082 ==120666== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120666== by 0x4003082: main (tool_main.c:243) === End of file valgrind264 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/4/valgrind267 ../src/curl -q --output log/4/curl267.out --include --trace-ascii log/4/trace267 --trace-config all --trace-time http://127.0.0.1:35779/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/4/stdout267 2> log/4/stderr267 267: 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 267 === Start of file commands.log ../libtool --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/valgrind267 ../src/curl -q --output log/4/curl267.out --include --trace-ascii log/4/trace267 --trace-config all --trace-time http://127.0.0.1:35779/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/4/stdout267 2> log/4/stderr267 === End of file commands.log === Start of file http_server.log 20:54:38.787809 ====> Client connect 20:54:38.787831 accept_connection 3 returned 4 20:54:38.787844 accept_connection 3 returned 0 20:54:38.787854 Read 93 bytes 20:54:38.787862 Process 93 bytes request 20:54:38.787899 Got request: GET /verifiedserver HTTP/1.1 20:54:38.787906 Are-we-friendly question received 20:54:38.787926 Wrote request (93 bytes) input to log/4/server.input 20:54:38.787938 Identifying ourselves as friends 20:54:38.787980 Response sent (57 bytes) and written to log/4/server.response 20:54:38.787988 special request received, no persistency 20:54:38.787995 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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 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/11/valgrind265 ../src/curl -q --output log/11/curl265.out --include --trace-ascii log/11/trace265 --trace-config all --trace-time http://test.remote.example.com.265:44265/path/2650002 --proxy http://127.0.0.1:44265 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/11/stdout265 2> log/11/stderr265 CMD (33792): ../libtool --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/valgrind266 ../src/curl -q --output log/3/curl266.out --include --trace-ascii log/3/trace266 --trace-config all --trace-time http://127.0.0.1:33171/266 -D log/3/heads266 > log/3/stdout266 2> log/3/stderr266 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind269 ../src/curl -q --output log/15/curl269.out --include --trace-ascii log/15/trace269 --trace-config all --trace-time http://127.0.0.1:39051/269 --ignore-content-length > log/15/stdout269 2> log/15/stderr269 e http_verify.out WE ROOLZ: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind267 ==120685== ==120685== Process terminating with default action of signal 4 (SIGILL) ==120685== Illegal opcode at address 0x4003082 ==120685== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120685== by 0x4003082: main (tool_main.c:243) === End of file valgrind267 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/11/valgrind265 ../src/curl -q --output log/11/curl265.out --include --trace-ascii log/11/trace265 --trace-config all --trace-time http://test.remote.example.com.265:44265/path/2650002 --proxy http://127.0.0.1:44265 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/11/stdout265 2> log/11/stderr265 265: 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 265 === Start of file commands.log ../libtool --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/valgrind265 ../src/curl -q --output log/11/curl265.out --include --trace-ascii log/11/trace265 --trace-config all --trace-time http://test.remote.example.com.265:44265/path/2650002 --proxy http://127.0.0.1:44265 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/11/stdout265 2> log/11/stderr265 === End of file commands.log === Start of file http_server.log 20:54:38.785460 ====> Client connect 20:54:38.785485 accept_connection 3 returned 4 20:54:38.785498 accept_connection 3 returned 0 20:54:38.785508 Read 93 bytes 20:54:38.785516 Process 93 bytes request 20:54:38.785526 Got request: GET /verifiedserver HTTP/1.1 20:54:38.785532 Are-we-friendly question received 20:54:38.785549 Wrote request (93 bytes) input to log/11/server.input 20:54:38.785564 Identifying ourselves as friends 20:54:38.785602 Response sent (57 bytes) and written to log/11/server.response 20:54:38.785609 special request received, no persistency 20:54:38.785616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind265 ==120681== ==120681== Process terminating with default action of signal 4 (SIGILL) ==120681== Illegal opcode at address 0x4003082 ==120681== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120681== by 0x4003082: main (tool_main.c:243) === End of file valgrind265 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/3/valgrind266 ../src/curl -q --output log/3/curl266.out --include --trace-ascii log/3/trace266 --trace-config all --trace-time http://127.0.0.1:33171/266 -D log/3/heads266 > log/3/stdout266 2> log/3/stderr266 266: 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 266 === Start of file commands.log ../libtool --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/valgrind266 ../src/curl -q --output log/3/curl266.out --include --trace-ascii log/3/trace266 --trace-config all --trace-time http://127.0.0.1:33171/266 -D log/3/heads266 > log/3/stdout266 2> log/3/stderr266 === End of file commands.log === Start of file http_server.log 20:54:38.787965 ====> Client connect 20:54:38.787998 accept_connection 3 returned 4 20:54:38.788015 accept_connection 3 returned 0 20:54:38.788029 Read 93 bytes 20:54:38.788038 Process 93 bytes request 20:54:38.788049 Got request: GET /verifiedserver HTTP/1.1 20:54:38.788058 Are-we-friendly question received 20:54:38.788086 Wrote request (93 bytes) input to log/3/server.input 20:54:38.788105 Identifying ourselves as friends 20:54:38.788163 Response sent (57 bytes) and written to log/3/server.response 20:54:38.788171 special request received, no persistency 20:54:38.788178 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind266 ==120682== ==120682== Process terminating with default action of signal 4 (SIGILL) ==120682== Illegal opcode at address 0x4003082 ==120682== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120682== by 0x4003082: main (tool_main.c:243) === 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/15/valgrind269 ../src/curl -q --output log/15/curl269.out --include --trace-ascii log/15/trace269 --trace-config all --trace-time http://127.0.0.1:39051/269 --ignore-content-length > log/15/stdout269 2> log/15/stderr269 269: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind269 ../src/curl -q --output log/15/curl269.out --include --trace-ascii log/15/trace269 --trace-config all --trace-time http://127.0.0.1:39051/269 --ignore-content-length > log/15/stdout269 2> log/15/stderr269 === End of file commands.log === Start of file http_server.log 20:54:38.842248 ====> Client connect 20:54:38.842275 accept_connection 3 returned 4 20:54:38.842291 accept_connection 3 returned 0 20:54:38.842304 Read 93 bytes 20:54:38.842313 Process 93 bytes request 20:54:38.842324 Got request: GET /verifiedserver HTTP/1.1 20:54:38.842332 Are-we-friendly question received 20:54:38.842355 Wrote request (93 bytes) input to log/15/server.input 20:54:38.842370 Identifying ourselves as friends 20:54:38.842419 Response sent (57 bytes) and written to log/15/server.response 20:54:38.842428 special request received, no persistency 20:54:38.842436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:390CMD (33792): ../libtool --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/valgrind270 ../src/curl -q --output log/9/curl270.out --include --trace-ascii log/9/trace270 --trace-config all --trace-time ftp://127.0.0.1:39489/270 --ftp-skip-pasv-ip --disable-epsv > log/9/stdout270 2> log/9/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/17/valgrind268 ../src/curl -q --output log/17/curl268.out --include --trace-ascii log/17/trace268 --trace-config all --trace-time http://127.0.0.1:35207/268 --variable hello@log/17/junk --expand-data {{hello:json}} > log/17/stdout268 2> log/17/stderr268 51... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind269 ==120916== ==120916== Process terminating with default action of signal 4 (SIGILL) ==120916== Illegal opcode at address 0x4003082 ==120916== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120916== by 0x4003082: main (tool_main.c:243) === End of file valgrind269 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/9/valgrind270 ../src/curl -q --output log/9/curl270.out --include --trace-ascii log/9/trace270 --trace-config all --trace-time ftp://127.0.0.1:39489/270 --ftp-skip-pasv-ip --disable-epsv > log/9/stdout270 2> log/9/stderr270 270: 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 270 === Start of file commands.log ../libtool --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/valgrind270 ../src/curl -q --output log/9/curl270.out --include --trace-ascii log/9/trace270 --trace-config all --trace-time ftp://127.0.0.1:39489/270 --ftp-skip-pasv-ip --disable-epsv > log/9/stdout270 2> log/9/stderr270 === End of file commands.log === Start of file ftp_server.log 20:54:38.625629 ====> Client connect 20:54:38.625776 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.626058 < "USER anonymous" 20:54:38.626099 > "331 We are happy you popped in![CR][LF]" 20:54:38.626390 < "PASS ftp@example.com" 20:54:38.626436 > "230 Welcome you silly person[CR][LF]" 20:54:38.626578 < "PWD" 20:54:38.626608 > "257 "/" is current directory[CR][LF]" 20:54:38.626729 < "EPSV" 20:54:38.626750 ====> Passive DATA channel requested by client 20:54:38.626760 DATA sockfilt for passive data channel starting... 20:54:38.628510 DATA sockfilt for passive data channel started (pid 120911) 20:54:38.628739 DATA sockfilt for passive data channel listens on port 46473 20:54:38.628793 > "229 Entering Passive Mode (|||46473|)[LF]" 20:54:38.628812 Client has been notified that DATA conn will be accepted on port 46473 20:54:38.629065 Client connects to port 46473 20:54:38.629091 ====> Client established passive DATA connection on port 46473 20:54:38.629174 < "TYPE I" 20:54:38.629207 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.629412 < "SIZE verifiedserver" 20:54:38.629445 > "213 18[CR][LF]" 20:54:38.629617 < "RETR verifiedserver" 20:54:38.629667 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.629767 =====> Closing passive DATA connection... 20:54:38.629784 Server disconnects passive DATA connection 20:54:38.629947 Server disconnected passive DATA connection 20:54:38.629972 DATA sockfilt for passive data channel quits (pid 120911) 20:54:38.630186 DATA sockfilt for passive data channel quit (pid 120911) 20:54:38.630207 =====> Closed passive DATA connection 20:54:38.630237 > "226 File transfer complete[CR][LF]" 20:54:38.672357 < "QUIT" 20:54:38.672437 > "221 bye bye baby[CR][LF]" 20:54:38.672744 MAIN sockfilt said DISC 20:54:38.672777 ====> Client disconnected 20:54:38.672834 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.847044 ====> Client connect 20:54:38.847296 Received DATA (on stdin) 20:54:38.847316 > 160 bytes data, server => client 20:54:38.847326 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.847336 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.847345 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.847423 < 16 bytes data, client => server 20:54:38.847435 'USER anonymous\r\n' 20:54:38.847606 Received DATA (on stdin) 20:54:38.847616 > 33 bytes data, server => client 20:54:38.847637 '331 We are happy you popped in!\r\n' 20:54:38.847755 < 22 bytes data, client => server 20:54:38.847781 'PASS ftp@example.com\r\n' 20:54:38.847955 Received DATA (on stdin) 20:54:38.847967 > 30 bytes data, server => client 20:54:38.847976 '230 Welcome you silly person\r\n' 20:54:38.848019 < 5 bytes data, client => server 20:54:38.848030 'PWD\r\n' 20:54:38.848118 Received DATA (on stdin) 20:54:38.848128 > 30 bytes data, server => client 20:54:38.848136 '257 "/" is current directory\r\n' 20:54:38.848184 < 6 bytes data, client => server 20:54:38.848196 'EPSV\r\n' 20:54:38.850334 Received DATA (on stdin) 20:54:38.850350 > 38 bytes data, server => client 20:54:38.850360 '229 Entering Passive Mode (|||46473|)\n' 20:54:38.850562 < 8 bytes data, client => server 20:54:38.850585 'TYPE I\r\n' 20:54:38.850724 Received DATA (on stdin) 20:54:38.850742 > 33 bytes data, server => client 20:54:38.850752 '200 I modify TYPE as you wanted\r\n' 20:54:38.850820 < 21 bytes data, client => server 20:54:38.850837 'SIZE verifiedserver\r\n' 20:54:38.850943 Received DATA (on stdin) 20:54:38.850954 > 8 bytes data, server => client 20:54:38.850964 '213 18\r\n' 20:54:38.851010 < 21 bytes data, client => server 20:54:38.851023 'RETR verifiedserver\r\n' 20:54:38.851232 Received DATA (on stdin) 20:54:38.851254 > 29 bytes data, server => client 20:54:38.851266 '150 Binary junk (18 bytes).\r\n' 20:54:38.851748 Received DATA (on stdin) 20:54:38.851766 > 28 bytes data, server => client 20:54:38.851775 '226 File transfer complete\r\n' 20:54:38.893714 < 6 bytes data, client => server 20:54:38.893737 'QUIT\r\n' 20:54:38.893964 Received DATA (on stdin) 20:54:38.893989 > 18 bytes data, server => client 20:54:38.894000 '221 bye bye baby\r\n' 20:54:38.894207 ====> Client disconnect 20:54:38.894347 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.849880 Running IPv4 version 20:54:38.849928 Listening on port 46473 20:54:38.849955 Wrote pid 120911 to log/9/server/ftp_sockdata.pid 20:54:38.849969 Received PING (on stdin) 20:54:38.850073 Received PORT (on stdin) 20:54:38.850520 ====> Client connect 20:54:38.851228 Received DATA (on stdin) 20:54:38.851244 > 18 bytes data, server => client 20:54:38.851253 'WE ROOLZ: 110717\r\n' 20:54:38.851379 Received DISC (on stdin) 20:54:38.851402 ====> Client forcibly disconnected 20:54:38.851502 Received QUIT (on stdin) 20:54:38.851513 quits 20:54:38.851563 ============> 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 ==121061== ==121061== Process terminating with default action of signal 4 (SIGILL) ==121061== Illegal opcode at address 0x4003082 ==121061== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121061== by 0x4003082: main (tool_main.c:243) === End of file valgrind270 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/17/valgrind268 ../src/curl -q --output log/17/curl268.out --include --trace-ascii log/17/trace268 --trace-config all --trace-time http://127.0.0.1:35207/268 --variable hello@log/17/junk --expand-data {{hello:json}} > log/17/stdout268 2> log/17/stderr268 268: protocol FAILED! There was no content at all in the file 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/14/valgrind274 ../src/curl -q --output log/14/curl274.out --include --trace-ascii log/14/trace274 --trace-config all --trace-time http://127.0.0.1:35661/want/274 -L --max-redirs 0 > log/14/stdout274 2> log/14/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/1/valgrind273 ../src/curl -q --output log/1/curl273.out --include --trace-ascii log/1/trace273 --trace-config all --trace-time http://127.0.0.1:42503/273 -u testuser:testpass --digest > log/1/stdout273 2> log/1/stderr273 CMD (33792): ../libtool --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/valgrind272 ../src/curl -q --output log/8/curl272.out --include --trace-ascii log/8/trace272 --trace-config all --trace-time ftp://127.0.0.1:39989/272 -z "2004 jan 1 12:12:12 UTC" > log/8/stdout272 2> log/8/stderr272 og/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 268 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind268 ../src/curl -q --output log/17/curl268.out --include --trace-ascii log/17/trace268 --trace-config all --trace-time http://127.0.0.1:35207/268 --variable hello@log/17/junk --expand-data {{hello:json}} > log/17/stdout268 2> log/17/stderr268 === End of file commands.log === Start of file http_server.log 20:54:38.841352 ====> Client connect 20:54:38.841383 accept_connection 3 returned 4 20:54:38.841400 accept_connection 3 returned 0 20:54:38.841413 Read 93 bytes 20:54:38.841423 Process 93 bytes request 20:54:38.841434 Got request: GET /verifiedserver HTTP/1.1 20:54:38.841443 Are-we-friendly question received 20:54:38.841466 Wrote request (93 bytes) input to log/17/server.input 20:54:38.841481 Identifying ourselves as friends 20:54:38.841530 Response sent (57 bytes) and written to log/17/server.response 20:54:38.841539 special request received, no persistency 20:54:38.841548 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind268 ==120914== ==120914== Process terminating with default action of signal 4 (SIGILL) ==120914== Illegal opcode at address 0x4003082 ==120914== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==120914== by 0x4003082: main (tool_main.c:243) === End of file valgrind268 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/14/valgrind274 ../src/curl -q --output log/14/curl274.out --include --trace-ascii log/14/trace274 --trace-config all --trace-time http://127.0.0.1:35661/want/274 -L --max-redirs 0 > log/14/stdout274 2> log/14/stderr274 274: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind274 ../src/curl -q --output log/14/curl274.out --include --trace-ascii log/14/trace274 --trace-config all --trace-time http://127.0.0.1:35661/want/274 -L --max-redirs 0 > log/14/stdout274 2> log/14/stderr274 === End of file commands.log === Start of file http_server.log 20:54:38.905993 ====> Client connect 20:54:38.906018 accept_connection 3 returned 4 20:54:38.906042 accept_connection 3 returned 0 20:54:38.906053 Read 93 bytes 20:54:38.906061 Process 93 bytes request 20:54:38.906071 Got request: GET /verifiedserver HTTP/1.1 20:54:38.906078 Are-we-friendly question received 20:54:38.906096 Wrote request (93 bytes) input to log/14/server.input 20:54:38.906107 Identifying ourselves as friends 20:54:38.906148 Response sent (57 bytes) and written to log/14/server.response 20:54:38.906155 special request received, no persistency 20:54:38.906162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind274 ==121096== ==121096== Process terminating with default action of signal 4 (SIGILL) ==121096== Illegal opcode at address 0x4003082 ==121096== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121096== by 0x4003082: main (tool_main.c:243) === End of file valgrind274 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/1/valgrind273 ../src/curl -q --output log/1/curl273.out --include --trace-ascii log/1/trace273 --trace-config all --trace-time http://127.0.0.1:42503/273 -u testuser:testpass --digest > log/1/stdout273 2> log/1/stderr273 273: 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 273 === Start of file commands.log ../libtool --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/valgrind273 ../src/curl -q --output log/1/curl273.out --include --trace-ascii log/1/trace273 --trace-config all --trace-time http://127.0.0.1:42503/273 -u testuser:testpass --digest > log/1/stdout273 2> log/1/stderr273 === End of file commands.log === Start of file http_server.log 20:54:38.895519 ====> Client connect 20:54:38.895541 accept_connection 3 returned 4 20:54:38.895566 accept_connection 3 returned 0 20:54:38.895577 Read 93 bytes 20:54:38.895584 Process 93 bytes request 20:54:38.895595 Got request: GET /verifiedserver HTTP/1.1 20:54:38.895602 Are-we-friendly question received 20:54:38.895620 Wrote request (93 bytes) input to log/1/server.input 20:54:38.895632 Identifying ourselves as friends 20:54:38.895672 Response sent (57 bytes) and written to log/1/server.response 20:54:38.895679 special request received, no persistency 20:54:38.895686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind273 ==121077== ==121077== Process terminating with default action of signal 4 (SIGILL) ==121077== Illegal opcode at address 0x4003082 ==121077== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121077== by 0x4003082: main (tool_main.c:243) === End of file valgrind273 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/8/valgrind272 ../src/curl -q --output log/8/curl272.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/24/valgrind236 ../src/curl -q --output log/24/curl236.out --include --trace-ascii log/24/trace236 --trace-config all --trace-time ftp://127.0.0.1:46525/236 -T log/24/file236.txt -C - > log/24/stdout236 2> log/24/stderr236 ut --include --trace-ascii log/8/trace272 --trace-config all --trace-time ftp://127.0.0.1:39989/272 -z "2004 jan 1 12:12:12 UTC" > log/8/stdout272 2> log/8/stderr272 272: 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 272 === Start of file commands.log ../libtool --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/valgrind272 ../src/curl -q --output log/8/curl272.out --include --trace-ascii log/8/trace272 --trace-config all --trace-time ftp://127.0.0.1:39989/272 -z "2004 jan 1 12:12:12 UTC" > log/8/stdout272 2> log/8/stderr272 === End of file commands.log === Start of file ftp_server.log 20:54:38.669602 ====> Client connect 20:54:38.669707 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:38.669921 < "USER anonymous" 20:54:38.669958 > "331 We are happy you popped in![CR][LF]" 20:54:38.670148 < "PASS ftp@example.com" 20:54:38.670178 > "230 Welcome you silly person[CR][LF]" 20:54:38.670303 < "PWD" 20:54:38.670326 > "257 "/" is current directory[CR][LF]" 20:54:38.670498 < "EPSV" 20:54:38.670520 ====> Passive DATA channel requested by client 20:54:38.670531 DATA sockfilt for passive data channel starting... 20:54:38.671634 DATA sockfilt for passive data channel started (pid 121044) 20:54:38.671711 DATA sockfilt for passive data channel listens on port 44231 20:54:38.671737 > "229 Entering Passive Mode (|||44231|)[LF]" 20:54:38.671750 Client has been notified that DATA conn will be accepted on port 44231 20:54:38.671910 Client connects to port 44231 20:54:38.671931 ====> Client established passive DATA connection on port 44231 20:54:38.671980 < "TYPE I" 20:54:38.671998 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:38.672167 < "SIZE verifiedserver" 20:54:38.672198 > "213 18[CR][LF]" 20:54:38.672454 < "RETR verifiedserver" 20:54:38.672485 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:38.672548 =====> Closing passive DATA connection... 20:54:38.672559 Server disconnects passive DATA connection 20:54:38.672721 Server disconnected passive DATA connection 20:54:38.672750 DATA sockfilt for passive data channel quits (pid 121044) 20:54:38.672922 DATA sockfilt for passive data channel quit (pid 121044) 20:54:38.672944 =====> Closed passive DATA connection 20:54:38.672966 > "226 File transfer complete[CR][LF]" 20:54:38.715982 < "QUIT" 20:54:38.716041 > "221 bye bye baby[CR][LF]" 20:54:38.716158 MAIN sockfilt said DISC 20:54:38.716186 ====> Client disconnected 20:54:38.716248 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.891033 ====> Client connect 20:54:38.891225 Received DATA (on stdin) 20:54:38.891236 > 160 bytes data, server => client 20:54:38.891245 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.891253 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.891260 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.891317 < 16 bytes data, client => server 20:54:38.891326 'USER anonymous\r\n' 20:54:38.891507 Received DATA (on stdin) 20:54:38.891525 > 33 bytes data, server => client 20:54:38.891535 '331 We are happy you popped in!\r\n' 20:54:38.891580 < 22 bytes data, client => server 20:54:38.891590 'PASS ftp@example.com\r\n' 20:54:38.891690 Received DATA (on stdin) 20:54:38.891700 > 30 bytes data, server => client 20:54:38.891708 '230 Welcome you silly person\r\n' 20:54:38.891750 < 5 bytes data, client => server 20:54:38.891758 'PWD\r\n' 20:54:38.891834 Received DATA (on stdin) 20:54:38.891842 > 30 bytes data, server => client 20:54:38.891850 '257 "/" is current directory\r\n' 20:54:38.891949 < 6 bytes data, client => server 20:54:38.891967 'EPSV\r\n' 20:54:38.893263 Received DATA (on stdin) 20:54:38.893273 > 38 bytes data, server => client 20:54:38.893282 '229 Entering Passive Mode (|||44231|)\n' 20:54:38.893379 < 8 bytes data, client => server 20:54:38.893388 'TYPE I\r\n' 20:54:38.893508 Received DATA (on stdin) 20:54:38.893517 > 33 bytes data, server => client 20:54:38.893550 '200 I modify TYPE as you wanted\r\n' 20:54:38.893600 < 21 bytes data, client => server 20:54:38.893611 'SIZE verifiedserver\r\n' 20:54:38.893711 Received DATA (on stdin) 20:54:38.893722 > 8 bytes data, server => client 20:54:38.893733 '213 18\r\n' 20:54:38.893781 < 21 bytes data, client => server 20:54:38.893794 'RETR verifiedserver\r\n' 20:54:38.894068 Received DATA (on stdin) 20:54:38.894078 > 29 bytes data, server => client 20:54:38.894087 '150 Binary junk (18 bytes).\r\n' 20:54:38.894477 Received DATA (on stdin) 20:54:38.894488 > 28 bytes data, server => client 20:54:38.894498 '226 File transfer complete\r\n' 20:54:38.937300 < 6 bytes data, client => server 20:54:38.937324 'QUIT\r\n' 20:54:38.937561 Received DATA (on stdin) 20:54:38.937573 > 18 bytes data, server => client 20:54:38.937583 '221 bye bye baby\r\n' 20:54:38.937630 ====> Client disconnect 20:54:38.937764 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:38.893020 Running IPv4 version 20:54:38.893060 Listening on port 44231 20:54:38.893088 Wrote pid 121044 to log/8/server/ftp_sockdata.pid 20:54:38.893101 Received PING (on stdin) 20:54:38.893161 Received PORT (on stdin) 20:54:38.893359 ====> Client connect 20:54:38.894138 Received DATA (on stdin) 20:54:38.894155 > 18 bytes data, server => client 20:54:38.894165 'WE ROOLZ: 110704\r\n' 20:54:38.894190 Received DISC (on stdin) 20:54:38.894202 ====> Client forcibly disconnected 20:54:38.894271 Received QUIT (on stdin) 20:54:38.894282 quits 20:54:38.894329 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==121208== ==121208== Process terminating with default action of signal 4 (SIGILL) ==121208== Illegal opcode at address 0x4003082 ==121208== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121208== by 0x4003082: main (tool_main.c:243) === End of file valgrind272 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_server.pid" --logfile "log/24/ftp_server.log" --logdir "log/24" --portfile "log/24/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46525 (log/24/server/ftp_server.port) RUN: FTP server is PID 119268 port 46525 * pid ftp => 119268 119268 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/24/valgrind236 ../src/curl -q --output log/24/curl236.out --include --trace-ascii log/24/trace236 --trace-config all --trace-time ftp://127.0.0.1:46525/236 -T log/24/file236.txt -C - > log/24/stdout236 2> log/24/stderr236 236: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind236 ../src/curl -q --output log/24/curl236.out --include --trace-ascii log/24/trace236 --trace-config all --trace-time ftp://127.0.0.1:46525/236 -T log/24/file236.txt -C - > log/24/stdout236 2> log/24/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 20:54:37.900619 FTP server listens on port IPv4/46525 20:54:37.900697 logged pid 119268 in log/24/server/ftp_server.pid CMD (33792): ../libtool --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/valgrind240 ../src/curl -q --output log/7/curl240.out --include --trace-ascii log/7/trace240 --trace-config all --trace-time -g "http://[::1]:44875/240" > log/7/stdout240 2> log/7/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]:43495/242" > log/6/stdout242 2> log/6/stderr242 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind278 ../src/curl -q --output log/19/curl278.out --include --trace-ascii log/19/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:46549 > log/19/stdout278 2> log/19/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/valgrind277 ../src/curl -q --output log/12/curl277.out --include --trace-ascii log/12/trace277 --trace-config all --trace-time http://127.0.0.1:33337/want/277 -F name=daniel -H "Content-Type: text/info" > log/12/stdout277 2> log/12/stderr277 20:54:37.900719 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:37.121897 Running IPv4 version 20:54:37.121973 Listening on port 46525 20:54:37.122007 Wrote pid 119270 to log/24/server/ftp_sockctrl.pid 20:54:37.122034 Wrote port 46525 to log/24/server/ftp_server.port 20:54:37.122052 Received PING (on stdin) === End of file ftp_sockctrl.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 ==121267== ==121267== Process terminating with default action of signal 4 (SIGILL) ==121267== Illegal opcode at address 0x4003082 ==121267== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121267== by 0x4003082: main (tool_main.c:243) === End of file valgrind236 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: HTTP-IPv6 server is on PID 119289 port 44875 * pid http-ipv6 => 119289 119289 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/7/valgrind240 ../src/curl -q --output log/7/curl240.out --include --trace-ascii log/7/trace240 --trace-config all --trace-time -g "http://[::1]:44875/240" > log/7/stdout240 2> log/7/stderr240 240: 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 240 === Start of file commands.log ../libtool --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/valgrind240 ../src/curl -q --output log/7/curl240.out --include --trace-ascii log/7/trace240 --trace-config all --trace-time -g "http://[::1]:44875/240" > log/7/stdout240 2> log/7/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 20:54:37.160397 Running HTTP IPv6 version on port 44875 20:54:37.160565 Wrote pid 119289 to log/7/server/http_ipv6_server.pid 20:54:37.160600 Wrote port 44875 to log/7/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 240 === End of file server.cmd === Start of file valgrind240 ==121319== ==121319== Process terminating with default action of signal 4 (SIGILL) ==121319== Illegal opcode at address 0x4003082 ==121319== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121319== by 0x4003082: main (tool_main.c:243) === 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: HTTP-IPv6 server is on PID 119336 port 43495 * pid http-ipv6 => 119336 119336 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]:43495/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 commands.log ../libtool --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]:43495/242" > log/6/stdout242 2> log/6/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 20:54:37.178174 Running HTTP IPv6 version on port 43495 20:54:37.178242 Wrote pid 119336 to log/6/server/http_ipv6_server.pid 20:54:37.178274 Wrote port 43495 to log/6/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 242 === End of file server.cmd === Start of file valgrind242 ==121345== ==121345== Process terminating with default action of signal 4 (SIGILL) ==121345== Illegal opcode at address 0x4003082 ==121345== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121345== by 0x4003082: main (tool_main.c:243) === End of file valgrind242 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/19/valgrind278 ../src/curl -q --output log/19/curl278.out --include --trace-ascii log/19/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:46549 > log/19/stdout278 2> log/19/stderr278 278: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 278 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind278 ../src/curl -q --output log/19/curl278.out --include --trace-ascii log/19/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:46549 > log/19/stdout278 2> log/19/stderr278 === End of file commands.log === Start of file http_server.log 20:54:39.202949 ====> Client connect 20:54:39.202978 accept_connection 3 returned 4 20:54:39.202994 accept_connection 3 returned 0 20:54:39.203007 Read 93 bytes 20:54:39.203016 Process 93 bytes request 20:54:39.203028 Got request: GET /verifiedserver HTTP/1.1 20:54:39.203037 Are-we-friendly question received 20:54:39.203058 Wrote request (93 bytes) input to log/19/server.input 20:54:39.203074 Identifying ourselves as friends 20:54:39.203122 Response sent (57 bytes) and written to log/19/server.response 20:54:39.203131 special request received, no persistency 20:54:39.203139 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind278 ==121486== ==121486== Process terminating with default action of signal 4 (SIGILL) ==121486== Illegal opcode at address 0x4003082 ==121486== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121486== by 0x4003082: main (tool_main.c:243) === End of file valgrind278 test 0277...[HTTP RFC1867-type formposting with custom Content-Type] ../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/10/valgrind276 ../src/curl -q --output log/10/curl276.out --include --trace-ascii log/10/trace276 --trace-config all --trace-time "http://127.0.0.1:43831/want?uri=http://anything/276?secondq/276" -L > log/10/stdout276 2> log/10/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/2/valgrind279 ../src/curl -q --output log/2/curl279.out --include --trace-ascii log/2/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:43815 > log/2/stdout279 2> log/2/stderr279 --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind277 ../src/curl -q --output log/12/curl277.out --include --trace-ascii log/12/trace277 --trace-config all --trace-time http://127.0.0.1:33337/want/277 -F name=daniel -H "Content-Type: text/info" > log/12/stdout277 2> log/12/stderr277 277: 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 277 === Start of file commands.log ../libtool --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/valgrind277 ../src/curl -q --output log/12/curl277.out --include --trace-ascii log/12/trace277 --trace-config all --trace-time http://127.0.0.1:33337/want/277 -F name=daniel -H "Content-Type: text/info" > log/12/stdout277 2> log/12/stderr277 === End of file commands.log === Start of file http_server.log 20:54:39.200062 ====> Client connect 20:54:39.200093 accept_connection 3 returned 4 20:54:39.200112 accept_connection 3 returned 0 20:54:39.200127 Read 93 bytes 20:54:39.200137 Process 93 bytes request 20:54:39.200150 Got request: GET /verifiedserver HTTP/1.1 20:54:39.200159 Are-we-friendly question received 20:54:39.200181 Wrote request (93 bytes) input to log/12/server.input 20:54:39.200205 Identifying ourselves as friends 20:54:39.200259 Response sent (57 bytes) and written to log/12/server.response 20:54:39.200268 special request received, no persistency 20:54:39.200277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind277 ==121484== ==121484== Process terminating with default action of signal 4 (SIGILL) ==121484== Illegal opcode at address 0x4003082 ==121484== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121484== by 0x4003082: main (tool_main.c:243) === End of file valgrind277 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/10/valgrind276 ../src/curl -q --output log/10/curl276.out --include --trace-ascii log/10/trace276 --trace-config all --trace-time "http://127.0.0.1:43831/want?uri=http://anything/276?secondq/276" -L > log/10/stdout276 2> log/10/stderr276 276: 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 276 === Start of file commands.log ../libtool --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/valgrind276 ../src/curl -q --output log/10/curl276.out --include --trace-ascii log/10/trace276 --trace-config all --trace-time "http://127.0.0.1:43831/want?uri=http://anything/276?secondq/276" -L > log/10/stdout276 2> log/10/stderr276 === End of file commands.log === Start of file http_server.log 20:54:39.194493 ====> Client connect 20:54:39.194526 accept_connection 3 returned 4 20:54:39.194544 accept_connection 3 returned 0 20:54:39.194560 Read 93 bytes 20:54:39.194570 Process 93 bytes request 20:54:39.194583 Got request: GET /verifiedserver HTTP/1.1 20:54:39.194592 Are-we-friendly question received 20:54:39.194615 Wrote request (93 bytes) input to log/10/server.input 20:54:39.194631 Identifying ourselves as friends 20:54:39.194721 Response sent (57 bytes) and written to log/10/server.response 20:54:39.194731 special request received, no persistency 20:54:39.194740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind276 ==121480== ==121480== Process terminating with default action of signal 4 (SIGILL) ==121480== Illegal opcode at address 0x4003082 ==121480== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121480== by 0x4003082: main (tool_main.c:243) === End of file valgrind276 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/2/valgrind279 ../src/curl -q --output log/2/curl279.out --include --trace-ascii log/2/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:43815 > log/2/stdout279 2> log/2/stderr279 279: 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 279 === Start of file commands.log ../libtool --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/valgrind279 ../src/curl -q --output log/2/curl279.out --include --trace-ascii log/2/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:43815 > log/2/stdout279 2> log/2/stderr279 === End of file commands.log === Start of file http_server.log 20:54:39.227502 ====> Client connect 20:54:39.227529 accept_connection 3 returned 4 20:54:39.227543 accept_connection 3 returned 0 20:54:39.227553 Read 93 bytes 20:54:39.227561 Process 93 bytes request 20:54:39.227572 Got request: GET /verifiedserver HTTP/1.1 20:54:39.227579 Are-we-friendly question received 20:54:39.227596 Wrote request (93 bytes) input to log/2/server.input 20:54:39.227608 Identifying ourselves as friends 20:54:39.227648 Response sent (57 bytes) and written to log/2/server.response 20:54:39.227656 special request received, no persistency 20:54:39.227662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind279 ==121641== ==121641== Process terminating with default action of signal 4 (SIGILL) ==121641== Illegal opcode at address 0x4003082 ==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/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:44265/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/stderr281 CMD (33792): ../libtool --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/valgrind280 ../src/curl -q --output log/4/curl280.out --include --trace-ascii log/4/trace280 --trace-config all --trace-time ftp://127.0.0.1:45117/280/ --ftp-alternative-to-user "USER replacement" > log/4/stdout280 2> log/4/stderr280 21641== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121641== by 0x4003082: main (tool_main.c:243) === End of file valgrind279 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:44265/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 commands.log ../libtool --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:44265/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/stderr281 === End of file commands.log === Start of file http_server.log 20:54:39.242391 ====> Client connect 20:54:39.242417 accept_connection 3 returned 4 20:54:39.242433 accept_connection 3 returned 0 20:54:39.242446 Read 93 bytes 20:54:39.242454 Process 93 bytes request 20:54:39.242466 Got request: GET /verifiedserver HTTP/1.1 20:54:39.242474 Are-we-friendly question received 20:54:39.242495 Wrote request (93 bytes) input to log/11/server.input 20:54:39.242509 Identifying ourselves as friends 20:54:39.242556 Response sent (57 bytes) and written to log/11/server.response 20:54:39.242564 special request received, no persistency 20:54:39.242572 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==121708== ==121708== Process terminating with default action of signal 4 (SIGILL) ==121708== Illegal opcode at address 0x4003082 ==121708== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121708== by 0x4003082: main (tool_main.c:243) === End of file valgrind281 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/4/valgrind280 ../src/curl -q --output log/4/curl280.out --include --trace-ascii log/4/trace280 --trace-config all --trace-time ftp://127.0.0.1:45117/280/ --ftp-alternative-to-user "USER replacement" > log/4/stdout280 2> log/4/stderr280 280: 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 280 === Start of file commands.log ../libtool --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/valgrind280 ../src/curl -q --output log/4/curl280.out --include --trace-ascii log/4/trace280 --trace-config all --trace-time ftp://127.0.0.1:45117/280/ --ftp-alternative-to-user "USER replacement" > log/4/stdout280 2> log/4/stderr280 === End of file commands.log === Start of file ftp_server.log 20:54:39.006727 ====> Client connect 20:54:39.006867 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.007095 < "USER anonymous" 20:54:39.007129 > "331 We are happy you popped in![CR][LF]" 20:54:39.007255 < "PASS ftp@example.com" 20:54:39.007278 > "230 Welcome you silly person[CR][LF]" 20:54:39.007385 < "PWD" 20:54:39.007410 > "257 "/" is current directory[CR][LF]" 20:54:39.007523 < "EPSV" 20:54:39.007544 ====> Passive DATA channel requested by client 20:54:39.007555 DATA sockfilt for passive data channel starting... 20:54:39.008997 DATA sockfilt for passive data channel started (pid 121588) 20:54:39.009086 DATA sockfilt for passive data channel listens on port 41635 20:54:39.009119 > "229 Entering Passive Mode (|||41635|)[LF]" 20:54:39.009137 Client has been notified that DATA conn will be accepted on port 41635 20:54:39.009305 Client connects to port 41635 20:54:39.009332 ====> Client established passive DATA connection on port 41635 20:54:39.009388 < "TYPE I" 20:54:39.009419 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.009547 < "SIZE verifiedserver" 20:54:39.009580 > "213 18[CR][LF]" 20:54:39.009717 < "RETR verifiedserver" 20:54:39.009751 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.009819 =====> Closing passive DATA connection... 20:54:39.009834 Server disconnects passive DATA connection 20:54:39.010031 Server disconnected passive DATA connection 20:54:39.010056 DATA sockfilt for passive data channel quits (pid 121588) 20:54:39.010334 DATA sockfilt for passive data channel quit (pid 121588) 20:54:39.010356 =====> Closed passive DATA connection 20:54:39.010378 > "226 File transfer complete[CR][LF]" 20:54:39.052325 < "QUIT" 20:54:39.052378 > "221 bye bye baby[CR][LF]" 20:54:39.052486 MAIN sockfilt said DISC 20:54:39.052510 ====> Client disconnected 20:54:39.052596 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.228137 ====> Client connect 20:54:39.228389 Received DATA (on stdin) 20:54:39.228401 > 160 bytes data, server => client 20:54:39.228412 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.228421 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.228429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.228496 < 16 bytes data, client => server 20:54:39.228507 'USER anonymous\r\n' 20:54:39.228644 Received DATA (on stdin) 20:54:39.228656 > 33 bytes data, server => client 20:54:39.228666 '331 We are happy you popped in!\r\n' 20:54:39.228710 < 22 bytes data, client => server 20:54:39.228723 'PASS ftp@example.com\r\n' 20:54:39.228788 Received DATA (on stdin) 20:54:39.228799 > 30 bytes data, server => client 20:54:39.228808 '230 Welcome you silly person\r\n' 20:54:39.228849 < 5 bytes data, client => server 20:54:39.228860 'PWD\r\n' 20:54:39.228919 Received DATA (on stdin) 20:54:39.228929 > 30 bytes data, server => client 20:54:39.228939 '257 "/" is current directory\r\n' 20:54:39.228989 < 6 bytes data, client => server 20:54:39.229002 'EPSV\r\n' 20:54:39.230612 Received DATA (on stdin) 20:54:39.230630 > 38 bytes data, server => client 20:54:39.230641 '229 Entering Passive Mode (|||41635|)\n' 20:54:39.230764 < 8 bytes data, client => server 20:54:39.230776 'TYPE I\r\n' 20:54:39.230931 Received DATA (on stdin) 20:54:39.230942 > 33 bytes data, server => client 20:54:39.230952 '200 I modify TYPE as you wanted\r\n' 20:54:39.230997 < 21 bytes data, client => server 20:54:39.231008 'SIZE verifiedserver\r\n' 20:54:39.231091 Received DATA (on stdin) 20:54:39.231101 > 8 bytes data, server => client 20:54:39.231108 '213 18\r\n' 20:54:39.231162 < 21 bytes data, client => server 20:54:39.231171 'RETR verifiedserver\r\n' 20:54:39.231348 Received DATA (on stdin) 20:54:39.2313CMD (33792): ../libtool --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/valgrind282 ../src/curl -q --output log/3/curl282.out --include --trace-ascii log/3/trace282 --trace-config all --trace-time http://127.0.0.1:33171/282 > log/3/stdout282 2> log/3/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/1/valgrind287 ../src/curl -q --include --trace-ascii log/1/trace287 --trace-config all --trace-time http://test.remote.example.com.287:42503/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:42503 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/1/stdout287 2> log/1/stderr287 59 > 29 bytes data, server => client 20:54:39.231369 '150 Binary junk (18 bytes).\r\n' 20:54:39.231890 Received DATA (on stdin) 20:54:39.231901 > 28 bytes data, server => client 20:54:39.231910 '226 File transfer complete\r\n' 20:54:39.273690 < 6 bytes data, client => server 20:54:39.273723 'QUIT\r\n' 20:54:39.273898 Received DATA (on stdin) 20:54:39.273910 > 18 bytes data, server => client 20:54:39.273919 '221 bye bye baby\r\n' 20:54:39.273961 ====> Client disconnect 20:54:39.274048 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.230371 Running IPv4 version 20:54:39.230417 Listening on port 41635 20:54:39.230445 Wrote pid 121588 to log/4/server/ftp_sockdata.pid 20:54:39.230461 Received PING (on stdin) 20:54:39.230529 Received PORT (on stdin) 20:54:39.230737 ====> Client connect 20:54:39.231393 Received DATA (on stdin) 20:54:39.231405 > 18 bytes data, server => client 20:54:39.231414 'WE ROOLZ: 110707\r\n' 20:54:39.231434 Received DISC (on stdin) 20:54:39.231445 ====> Client forcibly disconnected 20:54:39.231587 Received QUIT (on stdin) 20:54:39.231609 quits 20:54:39.231665 ============> 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 ==121817== ==121817== Process terminating with default action of signal 4 (SIGILL) ==121817== Illegal opcode at address 0x4003082 ==121817== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121817== by 0x4003082: main (tool_main.c:243) === End of file valgrind280 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/3/valgrind282 ../src/curl -q --output log/3/curl282.out --include --trace-ascii log/3/trace282 --trace-config all --trace-time http://127.0.0.1:33171/282 > log/3/stdout282 2> log/3/stderr282 282: 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 282 === Start of file commands.log ../libtool --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/valgrind282 ../src/curl -q --output log/3/curl282.out --include --trace-ascii log/3/trace282 --trace-config all --trace-time http://127.0.0.1:33171/282 > log/3/stdout282 2> log/3/stderr282 === End of file commands.log === Start of file http_server.log 20:54:39.248098 ====> Client connect 20:54:39.248134 accept_connection 3 returned 4 20:54:39.248152 accept_connection 3 returned 0 20:54:39.248166 Read 93 bytes 20:54:39.248175 Process 93 bytes request 20:54:39.248188 Got request: GET /verifiedserver HTTP/1.1 20:54:39.248196 Are-we-friendly question received 20:54:39.248219 Wrote request (93 bytes) input to log/3/server.input 20:54:39.248233 Identifying ourselves as friends 20:54:39.248301 Response sent (57 bytes) and written to log/3/server.response 20:54:39.248311 special request received, no persistency 20:54:39.248319 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind282 ==121715== ==121715== Process terminating with default action of signal 4 (SIGILL) ==121715== Illegal opcode at address 0x4003082 ==121715== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121715== by 0x4003082: main (tool_main.c:243) === End of file valgrind282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind252 ../src/curl -q --output log/23/curl252.out --include --trace-ascii log/23/trace252 --trace-config all --trace-time -g "ftp://[::1]:38929/" > log/23/stdout252 2> log/23/stderr252 CMD (33792): ../libtool --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/valgrind288 ../src/curl -q --output log/8/curl288.out --trace-ascii log/8/trace288 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test288.txt > log/8/stdout288 2> log/8/stderr288 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/1/valgrind287 ../src/curl -q --include --trace-ascii log/1/trace287 --trace-config all --trace-time http://test.remote.example.com.287:42503/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:42503 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/1/stdout287 2> log/1/stderr287 287: stdout FAILED: --- log/1/check-expected 2025-06-04 20:54:39.613031509 +0000 +++ log/1/check-generated 2025-06-04 20:54:39.613031509 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/1/ 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 commands.log ../libtool --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/valgrind287 ../src/curl -q --include --trace-ascii log/1/trace287 --trace-config all --trace-time http://test.remote.example.com.287:42503/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:42503 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/1/stdout287 2> log/1/stderr287 === End of file commands.log === Start of file http_server.log 20:54:39.348470 ====> Client connect 20:54:39.348497 accept_connection 3 returned 4 20:54:39.348511 accept_connection 3 returned 0 20:54:39.348521 Read 93 bytes 20:54:39.348529 Process 93 bytes request 20:54:39.348538 Got request: GET /verifiedserver HTTP/1.1 20:54:39.348544 Are-we-friendly question received 20:54:39.348560 Wrote request (93 bytes) input to log/1/server.input 20:54:39.348571 Identifying ourselves as friends 20:54:39.348615 Response sent (57 bytes) and written to log/1/server.response 20:54:39.348623 special request received, no persistency 20:54:39.348629 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind287 ==121910== ==121910== Process terminating with default action of signal 4 (SIGILL) ==121910== Illegal opcode at address 0x4003082 ==121910== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121910== by 0x4003082: main (tool_main.c:243) === End of file valgrind287 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_ipv6_server.pid" --logfile "log/23/ftp_ipv6_server.log" --logdir "log/23" --portfile "log/23/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 38929 (log/23/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 119880 port 38929 * pid ftp-ipv6 => 119880 119880 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/23/valgrind252 ../src/curl -q --output log/23/curl252.out --include --trace-ascii log/23/trace252 --trace-config all --trace-time -g "ftp://[::1]:38929/" > log/23/stdout252 2> log/23/stderr252 252: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind252 ../src/curl -q --output log/23/curl252.out --include --trace-ascii log/23/trace252 --trace-config all --trace-time -g "ftp://[::1]:38929/" > log/23/stdout252 2> log/23/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 20:54:38.159888 FTP server listens on port IPv6/38929 20:54:38.159960 logged pid 119880 in log/23/server/ftp_ipv6_server.pid 20:54:38.159982 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 20:54:38.381192 Running IPv6 version 20:54:38.381255 Listening on port 38929 20:54:38.381290 Wrote pid 119988 to log/23/server/ftp_ipv6_sockctrl.pid 20:54:38.381313 Wrote port 38929 to log/23/server/ftp_ipv6_server.port 20:54:38.381329 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 252 === End of file server.cmd === Start of file valgrind252 ==121911== ==121911== Process terminating with default action of signal 4 (SIGILL) ==121911== Illegal opcode at address 0x4003082 ==121911== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121911== by 0x4003082: main (tool_main.c:243) === End of file valgrind252 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel CMD (33792): ../libtool --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/valgrind253 ../src/curl -q --output log/5/curl253.out --include --trace-ascii log/5/trace253 --trace-config all --trace-time -g "ftp://[::1]:46559/" -P - > log/5/stdout253 2> log/5/stderr253 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind255 ../src/curl -q --output log/20/curl255.out --include --trace-ascii log/20/trace255 --trace-config all --trace-time -g "ftp://[::1]:41541/" -P - --disable-eprt > log/20/stdout255 2> log/20/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/21/valgrind254 ../src/curl -q --output log/21/curl254.out --include --trace-ascii log/21/trace254 --trace-config all --trace-time -g "ftp://[::1]:46599/" --disable-epsv > log/21/stdout254 2> log/21/stderr254 * 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/8/valgrind288 ../src/curl -q --output log/8/curl288.out --trace-ascii log/8/trace288 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test288.txt > log/8/stdout288 2> log/8/stderr288 288: data FAILED: --- log/8/check-expected 2025-06-04 20:54:39.626364842 +0000 +++ log/8/check-generated 2025-06-04 20:54:39.626364842 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/8/ 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 commands.log ../libtool --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/valgrind288 ../src/curl -q --output log/8/curl288.out --trace-ascii log/8/trace288 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test288.txt > log/8/stdout288 2> log/8/stderr288 === End of file commands.log === 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 ==121973== ==121973== Process terminating with default action of signal 4 (SIGILL) ==121973== Illegal opcode at address 0x4003082 ==121973== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121973== by 0x4003082: main (tool_main.c:243) === End of file valgrind288 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 46559 (log/5/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 119950 port 46559 * pid ftp-ipv6 => 119950 119950 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/5/valgrind253 ../src/curl -q --output log/5/curl253.out --include --trace-ascii log/5/trace253 --trace-config all --trace-time -g "ftp://[::1]:46559/" -P - > log/5/stdout253 2> log/5/stderr253 253: 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 253 === Start of file commands.log ../libtool --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/valgrind253 ../src/curl -q --output log/5/curl253.out --include --trace-ascii log/5/trace253 --trace-config all --trace-time -g "ftp://[::1]:46559/" -P - > log/5/stdout253 2> log/5/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 20:54:38.179630 FTP server listens on port IPv6/46559 20:54:38.179707 logged pid 119950 in log/5/server/ftp_ipv6_server.pid 20:54:38.179732 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 20:54:38.400830 Running IPv6 version 20:54:38.400887 Listening on port 46559 20:54:38.400932 Wrote pid 120035 to log/5/server/ftp_ipv6_sockctrl.pid 20:54:38.400961 Wrote port 46559 to log/5/server/ftp_ipv6_server.port 20:54:38.401069 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 253 === End of file server.cmd === Start of file valgrind253 ==121951== ==121951== Process terminating with default action of signal 4 (SIGILL) ==121951== Illegal opcode at address 0x4003082 ==121951== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121951== by 0x4003082: main (tool_main.c:243) === End of file valgrind253 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/ftp_ipv6_server.pid" --logfile "log/20/ftp_ipv6_server.log" --logdir "log/20" --portfile "log/20/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 41541 (log/20/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 120011 port 41541 * pid ftp-ipv6 => 120011 120011 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/20/valgrind255 ../src/curl -q --output log/20/curl255.out --include --trace-ascii log/20/trace255 --trace-config all --trace-time -g "ftp://[::1]:41541/" -P - --disable-eprt > log/20/stdout255 2> log/20/stderr255 255: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind255 ../src/curl -q --output log/20/curl255.out --include --trace-ascii log/20/trace255 --trace-config all --trace-time -g "ftp://[::1]:41541/" -P - --disable-eprt > log/20/stdout255 2> log/20/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 20:54:38.198617 FTP server listens on port IPv6/41541 20:54:38.198674 logged pid 120011 in log/20/server/ftp_ipv6_server.pid 20:54:38.198710 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 20:54:38.419962 Running IPv6 version 20:54:38.420002 Listening on port 41541 20:54:38.420032 Wrote pid 120087 to log/20/server/ftp_ipv6_sockctrl.pid 20:54:38.420053 Wrote port 41541 to log/20/server/ftp_ipv6_server.port 20:54:38.420066 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 255 === End of file server.cmd === Start of file valgrind255 ==122083== ==122083== Process terminating with default action of signal 4 (SIGILL) ==122083== Illegal opcode at address 0x4003082 ==122083== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122083== by 0x4003082: main (tool_main.c:243) === End of file valgrind255 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/ftp_ipv6_server.pid" --logfile "log/21/ftp_ipv6_server.log" --logdir "log/21" --portfile "log/21/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46599 (log/21/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 119971 port 46599 * pid ftp-ipv6 => 119971 119971 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/21/valgrind254 ../src/curl -q --output log/21/curl254.out --include --trace-ascii log/21/trace254 --trace-config all --trace-time -g "ftp://[::1]:46599/" --disable-epsv > log/21/stdout254 2> log/21/stderr254 254: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind254 ../src/curl -q --output log/21/curl254.out --include --trace-ascii log/21/trace254 --tracCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind289 ../src/curl -q --output log/24/curl289.out --include --trace-ascii log/24/trace289 --trace-config all --trace-time ftp://127.0.0.1:46525/289 -T log/24/illegal-nonexistent-file -C - > log/24/stdout289 2> log/24/stderr289 CMD (33792): ../libtool --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/valgrind290 ../src/curl -q --output log/7/curl290.out --include --trace-ascii log/7/trace290 --trace-config all --trace-time ftp://127.0.0.1:40643/290 --max-filesize 30 > log/7/stdout290 2> log/7/stderr290 e-config all --trace-time -g "ftp://[::1]:46599/" --disable-epsv > log/21/stdout254 2> log/21/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 20:54:38.187339 FTP server listens on port IPv6/46599 20:54:38.187412 logged pid 119971 in log/21/server/ftp_ipv6_server.pid 20:54:38.187431 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 20:54:38.408642 Running IPv6 version 20:54:38.408692 Listening on port 46599 20:54:38.408736 Wrote pid 120068 to log/21/server/ftp_ipv6_sockctrl.pid 20:54:38.408760 Wrote port 46599 to log/21/server/ftp_ipv6_server.port 20:54:38.408774 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 254 === End of file server.cmd === Start of file valgrind254 ==121979== ==121979== Process terminating with default action of signal 4 (SIGILL) ==121979== Illegal opcode at address 0x4003082 ==121979== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==121979== by 0x4003082: main (tool_main.c:243) === End of file valgrind254 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/24/valgrind289 ../src/curl -q --output log/24/curl289.out --include --trace-ascii log/24/trace289 --trace-config all --trace-time ftp://127.0.0.1:46525/289 -T log/24/illegal-nonexistent-file -C - > log/24/stdout289 2> log/24/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/24/ dir after test 289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind289 ../src/curl -q --output log/24/curl289.out --include --trace-ascii log/24/trace289 --trace-config all --trace-time ftp://127.0.0.1:46525/289 -T log/24/illegal-nonexistent-file -C - > log/24/stdout289 2> log/24/stderr289 === End of file commands.log === Start of file ftp_server.log 20:54:39.369820 ====> Client connect 20:54:39.369993 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.370495 < "USER anonymous" 20:54:39.370542 > "331 We are happy you popped in![CR][LF]" 20:54:39.370728 < "PASS ftp@example.com" 20:54:39.370757 > "230 Welcome you silly person[CR][LF]" 20:54:39.370897 < "PWD" 20:54:39.370924 > "257 "/" is current directory[CR][LF]" 20:54:39.371058 < "EPSV" 20:54:39.371081 ====> Passive DATA channel requested by client 20:54:39.371092 DATA sockfilt for passive data channel starting... 20:54:39.372646 DATA sockfilt for passive data channel started (pid 122239) 20:54:39.372775 DATA sockfilt for passive data channel listens on port 36997 20:54:39.372820 > "229 Entering Passive Mode (|||36997|)[LF]" 20:54:39.372837 Client has been notified that DATA conn will be accepted on port 36997 20:54:39.373051 Client connects to port 36997 20:54:39.373077 ====> Client established passive DATA connection on port 36997 20:54:39.373150 < "TYPE I" 20:54:39.373180 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.373327 < "SIZE verifiedserver" 20:54:39.373359 > "213 18[CR][LF]" 20:54:39.373504 < "RETR verifiedserver" 20:54:39.373533 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.373604 =====> Closing passive DATA connection... 20:54:39.373619 Server disconnects passive DATA connection 20:54:39.373750 Server disconnected passive DATA connection 20:54:39.373792 DATA sockfilt for passive data channel quits (pid 122239) 20:54:39.373983 DATA sockfilt for passive data channel quit (pid 122239) 20:54:39.374006 =====> Closed passive DATA connection 20:54:39.374030 > "226 File transfer complete[CR][LF]" 20:54:39.419287 < "QUIT" 20:54:39.419347 > "221 bye bye baby[CR][LF]" 20:54:39.419748 MAIN sockfilt said DISC 20:54:39.419771 ====> Client disconnected 20:54:39.419828 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.591230 ====> Client connect 20:54:38.591516 Received DATA (on stdin) 20:54:38.591532 > 160 bytes data, server => client 20:54:38.591714 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.591734 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.591744 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.591820 < 16 bytes data, client => server 20:54:38.591832 'USER anonymous\r\n' 20:54:38.592060 Received DATA (on stdin) 20:54:38.592073 > 33 bytes data, server => client 20:54:38.592084 '331 We are happy you popped in!\r\n' 20:54:38.592138 < 22 bytes data, client => server 20:54:38.592156 'PASS ftp@example.com\r\n' 20:54:38.592271 Received DATA (on stdin) 20:54:38.592282 > 30 bytes data, server => client 20:54:38.592293 '230 Welcome you silly person\r\n' 20:54:38.592336 < 5 bytes data, client => server 20:54:38.592347 'PWD\r\n' 20:54:38.592436 Received DATA (on stdin) 20:54:38.592447 > 30 bytes data, server => client 20:54:38.592458 '257 "/" is current directory\r\n' 20:54:38.592517 < 6 bytes data, client => server 20:54:38.592534 'EPSV\r\n' 20:54:38.594349 Received DATA (on stdin) 20:54:38.594366 > 38 bytes data, server => client 20:54:38.594377 '229 Entering Passive Mode (|||36997|)\n' 20:54:38.594511 < 8 bytes data, client => server 20:54:38.594523 'TYPE I\r\n' 20:54:38.594693 Received DATA (on stdin) 20:54:38.594705 > 33 bytes data, server => client 20:54:38.594716 '200 I modify TYPE as you wanted\r\n' 20:54:38.594762 < 21 bytes data, client => server 20:54:38.594774 'SIZE verifiedserver\r\n' 20:54:38.594874 Received DATA (on stdin) 20:54:38.594885 > 8 bytes data, server => client 20:54:38.594894 '213 18\r\n' 20:54:38.594938 < 21 bytes data, client => server 20:54:38.594949 'RETR verifiedserver\r\n' 20:54:38.595061 Received DATA (on stdin) 20:54:38.595078 > 29 bytes data, server => client 20:54:38.595088 '150 Binary junk (18 bytes).\r\n' 20:54:38.595539 Received DATA (on stdin) 20:54:38.595549 > 28 bytes data, server => client 20:54:38.595557 '226 File transfer complete\r\n' 20:54:38.640614 < 6 bytes data, client => server 20:54:38.640638 'QUIT\r\n' 20:54:38.640842 Received DATA (on stdin) 20:54:38.640862 > 18 bytes data, server => client 20:54:38.640872 '221 bye bye baby\r\n' 20:54:38.641210 ====> Client disconnect 20:54:38.641340 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.594013 Running IPv4 version 20:54:39.594053 Listening on port 36997 20:54:39.594083 Wrote pid 122239 to log/24/server/ftp_sockdata.pid 20:54:39.594103 Received PING (on stdin) 20:54:39.594202 Received PORT (on stdin) 20:54:39.594486 ====> Client connect 20:54:39.595132 Received DATA (on stdin) 20:54:39.595144 > 18 bytes data, server => client 20:54:39.595154 'WE ROOLZ: 119268\r\n' 20:54:39.595178 Received DISC (on stdin) 20:54:39.595189 ====> Client forcibly disconnected 20:54:39.595310 Received QUIT (on stdin) 20:54:39.595321 quits 20:54:39.595371 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==122295== ==122295== Process terminating with default action of signal 4 (SIGILL) ==122295== Illegal opcode at address 0x4003082 ==122295== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122295== by 0x4003082: main (tool_main.c:243) === End of file valgrind289 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/7/valgrind290 ../src/curl -q --output log/7/curl290.out --include --trace-ascii log/7/trace290 --trace-config all --trace-time ftp://127.0.0.1:40643/290 --max-filesize 30 > log/7/stdout290 2> log/7/stderr290CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind292 ../src/curl -q --output log/19/curl292.out --include --trace-ascii log/19/trace292 --trace-config all --trace-time http://127.0.0.1:46549/292 --max-filesize 1000 > log/19/stdout292 2> log/19/stderr292 290: 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 290 === Start of file commands.log ../libtool --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/valgrind290 ../src/curl -q --output log/7/curl290.out --include --trace-ascii log/7/trace290 --trace-config all --trace-time ftp://127.0.0.1:40643/290 --max-filesize 30 > log/7/stdout290 2> log/7/stderr290 === End of file commands.log === Start of file ftp_server.log 20:54:39.370221 ====> Client connect 20:54:39.370336 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.370538 < "USER anonymous" 20:54:39.370563 > "331 We are happy you popped in![CR][LF]" 20:54:39.370679 < "PASS ftp@example.com" 20:54:39.370697 > "230 Welcome you silly person[CR][LF]" 20:54:39.370799 < "PWD" 20:54:39.370820 > "257 "/" is current directory[CR][LF]" 20:54:39.370928 < "EPSV" 20:54:39.370944 ====> Passive DATA channel requested by client 20:54:39.370954 DATA sockfilt for passive data channel starting... 20:54:39.372076 DATA sockfilt for passive data channel started (pid 122238) 20:54:39.372169 DATA sockfilt for passive data channel listens on port 40373 20:54:39.372213 > "229 Entering Passive Mode (|||40373|)[LF]" 20:54:39.372238 Client has been notified that DATA conn will be accepted on port 40373 20:54:39.372435 Client connects to port 40373 20:54:39.372476 ====> Client established passive DATA connection on port 40373 20:54:39.372641 < "TYPE I" 20:54:39.372675 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.372821 < "SIZE verifiedserver" 20:54:39.372857 > "213 18[CR][LF]" 20:54:39.373069 < "RETR verifiedserver" 20:54:39.373100 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.373166 =====> Closing passive DATA connection... 20:54:39.373179 Server disconnects passive DATA connection 20:54:39.373338 Server disconnected passive DATA connection 20:54:39.373365 DATA sockfilt for passive data channel quits (pid 122238) 20:54:39.374084 DATA sockfilt for passive data channel quit (pid 122238) 20:54:39.374110 =====> Closed passive DATA connection 20:54:39.374134 > "226 File transfer complete[CR][LF]" 20:54:39.418986 < "QUIT" 20:54:39.419043 > "221 bye bye baby[CR][LF]" 20:54:39.419159 MAIN sockfilt said DISC 20:54:39.419181 ====> Client disconnected 20:54:39.419244 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.591652 ====> Client connect 20:54:39.591854 Received DATA (on stdin) 20:54:39.591864 > 160 bytes data, server => client 20:54:39.591873 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.591882 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.591889 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.591940 < 16 bytes data, client => server 20:54:39.591949 'USER anonymous\r\n' 20:54:39.592073 Received DATA (on stdin) 20:54:39.592083 > 33 bytes data, server => client 20:54:39.592091 '331 We are happy you popped in!\r\n' 20:54:39.592127 < 22 bytes data, client => server 20:54:39.592135 'PASS ftp@example.com\r\n' 20:54:39.592204 Received DATA (on stdin) 20:54:39.592213 > 30 bytes data, server => client 20:54:39.592220 '230 Welcome you silly person\r\n' 20:54:39.592252 < 5 bytes data, client => server 20:54:39.592260 'PWD\r\n' 20:54:39.592326 Received DATA (on stdin) 20:54:39.592335 > 30 bytes data, server => client 20:54:39.592342 '257 "/" is current directory\r\n' 20:54:39.592382 < 6 bytes data, client => server 20:54:39.592390 'EPSV\r\n' 20:54:39.593757 Received DATA (on stdin) 20:54:39.593767 > 38 bytes data, server => client 20:54:39.593775 '229 Entering Passive Mode (|||40373|)\n' 20:54:39.594068 < 8 bytes data, client => server 20:54:39.594085 'TYPE I\r\n' 20:54:39.594189 Received DATA (on stdin) 20:54:39.594201 > 33 bytes data, server => client 20:54:39.594211 '200 I modify TYPE as you wanted\r\n' 20:54:39.594258 < 21 bytes data, client => server 20:54:39.594268 'SIZE verifiedserver\r\n' 20:54:39.594357 Received DATA (on stdin) 20:54:39.594370 > 8 bytes data, server => client 20:54:39.594379 '213 18\r\n' 20:54:39.594498 < 21 bytes data, client => server 20:54:39.594511 'RETR verifiedserver\r\n' 20:54:39.594614 Received DATA (on stdin) 20:54:39.594632 > 29 bytes data, server => client 20:54:39.594643 '150 Binary junk (18 bytes).\r\n' 20:54:39.595634 Received DATA (on stdin) 20:54:39.595652 > 28 bytes data, server => client 20:54:39.595663 '226 File transfer complete\r\n' 20:54:39.640365 < 6 bytes data, client => server 20:54:39.640390 'QUIT\r\n' 20:54:39.640562 Received DATA (on stdin) 20:54:39.640574 > 18 bytes data, server => client 20:54:39.640584 '221 bye bye baby\r\n' 20:54:39.640631 ====> Client disconnect 20:54:39.640756 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.593441 Running IPv4 version 20:54:39.593482 Listening on port 40373 20:54:39.593516 Wrote pid 122238 to log/7/server/ftp_sockdata.pid 20:54:39.593539 Received PING (on stdin) 20:54:39.593610 Received PORT (on stdin) 20:54:39.593887 ====> Client connect 20:54:39.594692 Received DATA (on stdin) 20:54:39.594704 > 18 bytes data, server => client 20:54:39.594715 'WE ROOLZ: 110634\r\n' 20:54:39.594740 Received DISC (on stdin) 20:54:39.594750 ====> Client forcibly disconnected 20:54:39.595062 Received QUIT (on stdin) 20:54:39.595240 quits 20:54:39.595423 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==122302== ==122302== Process terminating with default action of signal 4 (SIGILL) ==122302== Illegal opcode at address 0x4003082 ==122302== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122302== by 0x4003082: main (tool_main.c:243) === End of file valgrind290 test 0320 SKIPPED: no gnutls-serv (with SRP support) test 0321 SKIPPED: no gnutls-serv (with SRP support) test 0322 SKIPPED: no gnutls-serv (with SRP support) 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/19/valgrind292 ../src/curl -q --output log/19/curl292.out --include --trace-ascii log/19/trace292 --trace-config all --trace-time http://127.0.0.1:46549/292 --max-filesize 1000 > log/19/stdout292 2> log/19/stderr292 292: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind292 ../src/curl -q --output log/19/curl292.out --include --trace-ascii log/19/trace292 --trace-config all --trace-time http://127.0.0.1:46549/292 --max-filesize 1000 > log/19/stdout292 2> log/19/stderr292 === End of file commands.log === Start of file http_server.log 20:54:39.650457 ====> Client connect 20:54:39.650494 accept_connection 3 returned 4 20:54:39.650511 accept_connection 3 returned 0 20:54:39.650523 Read 93 bytes 20:54:39.650533 Process 93 bytes request 20:54:39.650545 Got request: GET /verifiedserver HTTP/1.1 20:54:39.650554 Are-we-friendly question received 20:54:39.650574 Wrote request (93 bytes) input to log/19/server.input 20:54:39.650589 Identifying ourselves as friends 20:54:39.650636 Response sent (57 bytes) and written to log/19/server.response 20:54:39.650645 special request received, no persistency 20:54:39.650654 ====> Client disconnect 0 === End of file http_server.log === 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/12/valgrind293 ../src/curl -q --output log/12/curl293.out --include --trace-ascii log/12/trace293 --trace-config all --trace-time http://127.0.0.1:33337/293 --max-filesize 2 > log/12/stdout293 2> log/12/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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-config all --trace-time ftp://127.0.0.1:37857/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind292 ==122339== ==122339== Process terminating with default action of signal 4 (SIGILL) ==122339== Illegal opcode at address 0x4003082 ==122339== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122339== by 0x4003082: main (tool_main.c:243) === End of file valgrind292 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/12/valgrind293 ../src/curl -q --output log/12/curl293.out --include --trace-ascii log/12/trace293 --trace-config all --trace-time http://127.0.0.1:33337/293 --max-filesize 2 > log/12/stdout293 2> log/12/stderr293 293: 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 293 === Start of file commands.log ../libtool --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/valgrind293 ../src/curl -q --output log/12/curl293.out --include --trace-ascii log/12/trace293 --trace-config all --trace-time http://127.0.0.1:33337/293 --max-filesize 2 > log/12/stdout293 2> log/12/stderr293 === End of file commands.log === Start of file http_server.log 20:54:39.653441 ====> Client connect 20:54:39.653462 accept_connection 3 returned 4 20:54:39.653475 accept_connection 3 returned 0 20:54:39.653485 Read 93 bytes 20:54:39.653492 Process 93 bytes request 20:54:39.653502 Got request: GET /verifiedserver HTTP/1.1 20:54:39.653509 Are-we-friendly question received 20:54:39.653535 Wrote request (93 bytes) input to log/12/server.input 20:54:39.653551 Identifying ourselves as friends 20:54:39.653593 Response sent (57 bytes) and written to log/12/server.response 20:54:39.653600 special request received, no persistency 20:54:39.653608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind293 ==122346== ==122346== Process terminating with default action of signal 4 (SIGILL) ==122346== Illegal opcode at address 0x4003082 ==122346== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122346== by 0x4003082: main (tool_main.c:243) === End of file valgrind293 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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-config all --trace-time ftp://127.0.0.1:37857/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 291: 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 291 === Start of file commands.log ../libtool --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/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-config all --trace-time ftp://127.0.0.1:37857/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 === End of file commands.log === Start of file ftp_server.log 20:54:39.408660 ====> Client connect 20:54:39.408839 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.409141 < "USER anonymous" 20:54:39.409169 > "331 We are happy you popped in![CR][LF]" 20:54:39.409321 < "PASS ftp@example.com" 20:54:39.409343 > "230 Welcome you silly person[CR][LF]" 20:54:39.409476 < "PWD" 20:54:39.409499 > "257 "/" is current directory[CR][LF]" 20:54:39.409631 < "EPSV" 20:54:39.409652 ====> Passive DATA channel requested by client 20:54:39.409663 DATA sockfilt for passive data channel starting... 20:54:39.411272 DATA sockfilt for passive data channel started (pid 122255) 20:54:39.411440 DATA sockfilt for passive data channel listens on port 33095 20:54:39.411487 > "229 Entering Passive Mode (|||33095|)[LF]" 20:54:39.411504 Client has been notified that DATA conn will be accepted on port 33095 20:54:39.411734 Client connects to port 33095 20:54:39.411811 ====> Client established passive DATA connection on port 33095 20:54:39.411886 < "TYPE I" 20:54:39.411918 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.412185 < "SIZE verifiedserver" 20:54:39.412213 > "213 18[CR][LF]" 20:54:39.412323 < "RETR verifiedserver" 20:54:39.412346 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.412404 =====> Closing passive DATA connection... 20:54:39.412416 Server disconnects passive DATA connection 20:54:39.412601 Server disconnected passive DATA connection 20:54:39.412622 DATA sockfilt for passive data channel quits (pid 122255) 20:54:39.412838 DATA sockfilt for passive data channel quit (pid 122255) 20:54:39.412856 =====> Closed passive DATA connection 20:54:39.412878 > "226 File transfer complete[CR][LF]" 20:54:39.455894 < "QUIT" 20:54:39.455952 > "221 bye bye baby[CR][LF]" 20:54:39.456382 MAIN sockfilt said DISC 20:54:39.456410 ====> Client disconnected 20:54:39.456474 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.630088 ====> Client connect 20:54:39.630354 Received DATA (on stdin) 20:54:39.630379 > 160 bytes data, server => client 20:54:39.630392 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.630402 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.630413 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.630538 < 16 bytes data, client => server 20:54:39.630559 'USER anonymous\r\n' 20:54:39.630682 Received DATA (on stdin) 20:54:39.630694 > 33 bytes data, server => client 20:54:39.630704 '331 We are happy you popped in!\r\n' 20:54:39.630758 < 22 bytes data, client => server 20:54:39.630768 'PASS ftp@example.com\r\n' 20:54:39.630853 Received DATA (on stdin) 20:54:39.630864 > 30 bytes data, server => client 20:54:39.630874 '230 Welcome you silly person\r\n' 20:54:39.630919 < 5 bytes data, client => server 20:54:39.630929 'PWD\r\n' 20:54:39.631009 Received DATA (on stdin) 20:54:39.631019 > 30 bytes data, server => client 20:54:39.631029 '257 "/" is current directory\r\n' 20:54:39.631076 < 6 bytes data, client => server 20:54:39.631086 'EPSV\r\n' 20:54:39.633027 Received DATA (on stdin) 20:54:39.633046 > 38 bytes data, server => client 20:54:39.633058 '229 Entering PassivCMD (33792): ../libtool --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/valgrind295 ../src/curl -q --output log/2/curl295.out --include --trace-ascii log/2/trace295 --trace-config all --trace-time ftp://127.0.0.1:41115/295/ > log/2/stdout295 2> log/2/stderr295 e Mode (|||33095|)\n' 20:54:39.633162 < 8 bytes data, client => server 20:54:39.633182 'TYPE I\r\n' 20:54:39.633418 Received DATA (on stdin) 20:54:39.633566 > 33 bytes data, server => client 20:54:39.633580 '200 I modify TYPE as you wanted\r\n' 20:54:39.633623 < 21 bytes data, client => server 20:54:39.633632 'SIZE verifiedserver\r\n' 20:54:39.633722 Received DATA (on stdin) 20:54:39.633730 > 8 bytes data, server => client 20:54:39.633737 '213 18\r\n' 20:54:39.633773 < 21 bytes data, client => server 20:54:39.633781 'RETR verifiedserver\r\n' 20:54:39.633924 Received DATA (on stdin) 20:54:39.633933 > 29 bytes data, server => client 20:54:39.633940 '150 Binary junk (18 bytes).\r\n' 20:54:39.634387 Received DATA (on stdin) 20:54:39.634397 > 28 bytes data, server => client 20:54:39.634405 '226 File transfer complete\r\n' 20:54:39.677099 < 6 bytes data, client => server 20:54:39.677119 'QUIT\r\n' 20:54:39.677527 Received DATA (on stdin) 20:54:39.677545 > 18 bytes data, server => client 20:54:39.677555 '221 bye bye baby\r\n' 20:54:39.677843 ====> Client disconnect 20:54:39.677956 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.632619 Running IPv4 version 20:54:39.632676 Listening on port 33095 20:54:39.632716 Wrote pid 122255 to log/6/server/ftp_sockdata.pid 20:54:39.632734 Received PING (on stdin) 20:54:39.632856 Received PORT (on stdin) 20:54:39.633179 ====> Client connect 20:54:39.633981 Received DATA (on stdin) 20:54:39.633991 > 18 bytes data, server => client 20:54:39.633999 'WE ROOLZ: 111185\r\n' 20:54:39.634021 Received DISC (on stdin) 20:54:39.634029 ====> Client forcibly disconnected 20:54:39.634137 Received QUIT (on stdin) 20:54:39.634150 quits 20:54:39.634197 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==122477== ==122477== Process terminating with default action of signal 4 (SIGILL) ==122477== Illegal opcode at address 0x4003082 ==122477== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122477== by 0x4003082: main (tool_main.c:243) === End of file valgrind291 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/2/valgrind295 ../src/curl -q --output log/2/curl295.out --include --trace-ascii log/2/trace295 --trace-config all --trace-time ftp://127.0.0.1:41115/295/ > log/2/stdout295 2> log/2/stderr295 295: 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 295 === Start of file commands.log ../libtool --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/valgrind295 ../src/curl -q --output log/2/curl295.out --include --trace-ascii log/2/trace295 --trace-config all --trace-time ftp://127.0.0.1:41115/295/ > log/2/stdout295 2> log/2/stderr295 === End of file commands.log === Start of file ftp_server.log 20:54:39.458243 ====> Client connect 20:54:39.458389 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.458660 < "USER anonymous" 20:54:39.458711 > "331 We are happy you popped in![CR][LF]" 20:54:39.458858 < "PASS ftp@example.com" 20:54:39.458886 > "230 Welcome you silly person[CR][LF]" 20:54:39.459103 < "PWD" 20:54:39.459149 > "257 "/" is current directory[CR][LF]" 20:54:39.459326 < "EPSV" 20:54:39.459354 ====> Passive DATA channel requested by client 20:54:39.459368 DATA sockfilt for passive data channel starting... 20:54:39.460878 DATA sockfilt for passive data channel started (pid 122455) 20:54:39.460969 DATA sockfilt for passive data channel listens on port 42733 20:54:39.461010 > "229 Entering Passive Mode (|||42733|)[LF]" 20:54:39.461026 Client has been notified that DATA conn will be accepted on port 42733 20:54:39.461225 Client connects to port 42733 20:54:39.461250 ====> Client established passive DATA connection on port 42733 20:54:39.461308 < "TYPE I" 20:54:39.461335 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.461531 < "SIZE verifiedserver" 20:54:39.461570 > "213 18[CR][LF]" 20:54:39.461754 < "RETR verifiedserver" 20:54:39.461786 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.461847 =====> Closing passive DATA connection... 20:54:39.461863 Server disconnects passive DATA connection 20:54:39.461933 Server disconnected passive DATA connection 20:54:39.461964 DATA sockfilt for passive data channel quits (pid 122455) 20:54:39.462260 DATA sockfilt for passive data channel quit (pid 122455) 20:54:39.462284 =====> Closed passive DATA connection 20:54:39.462309 > "226 File transfer complete[CR][LF]" 20:54:39.502343 < "QUIT" 20:54:39.502391 > "221 bye bye baby[CR][LF]" 20:54:39.502628 MAIN sockfilt said DISC 20:54:39.502682 ====> Client disconnected 20:54:39.502746 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.679672 ====> Client connect 20:54:38.679913 Received DATA (on stdin) 20:54:38.679931 > 160 bytes data, server => client 20:54:38.679943 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.679953 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.679963 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.680047 < 16 bytes data, client => server 20:54:38.680062 'USER anonymous\r\n' 20:54:38.680212 Received DATA (on stdin) 20:54:38.680233 > 33 bytes data, server => client 20:54:38.680245 '331 We are happy you popped in!\r\n' 20:54:38.680305 < 22 bytes data, client => server 20:54:38.680316 'PASS ftp@example.com\r\n' 20:54:38.680401 Received DATA (on stdin) 20:54:38.680417 > 30 bytes data, server => client 20:54:38.680427 '230 Welcome you silly person\r\n' 20:54:38.680487 < 5 bytes data, client => server 20:54:38.680503 'PWD\r\n' 20:54:38.680665 Received DATA (on stdin) 20:54:38.680681 > 30 bytes data, server => client 20:54:38.680692 '257 "/" is current directory\r\n' 20:54:38.680757 < 6 bytes data, client => server 20:54:38.680768 'EPSV\r\n' 20:54:38.682543 Received DATA (on stdin) 20:54:38.682555 > 38 bytes data, server => client 20:54:38.682565 '229 Entering Passive Mode (|||42733|)\n' 20:54:38.682689 < 8 bytes data, client => server 20:54:38.682700 'TYPE I\r\n' 20:54:38.682849 Received DATA (on stdin) 20:54:38.682861 > 33 bytes data, server => client 20:54:38.682871 '200 I modify TYPE as you wanted\r\n' 20:54:38.682917 < 21 bytes data, client => server 20:54:38.682938 'SIZE verifiedserver\r\n' 20:54:38.683088 Received DATA (on stdin) 20:54:38.683104 > 8 bytes data, server => client 20:54:38.683114 '213 18\r\n' 20:54:38.683176 < 21 bytes data, client => server 20:54:38.683194 'RETR verifiedserver\r\n' 20:54:38.683379 Received DATA (on stdin) 20:54:38.683392 > 29 bytes data, server => client 20:54:38.683402 '150 Binary junk (18 bytes).\r\n' 20:54:38.683823 Received DATA (on stdin) 20:54:38.683836 > 28 bytes data, server => client 20:54:38.683847 '226 File transfer complete\r\n' 20:54:38.723706 < 6 bytes data, client => server 20:54:38.723728 'QUIT\r\n' 20:54:38.723906 Received DATA (on stdin) 20:54:38.723918 > 18 bytes data, server => client 20:54:38.723928 '221 bye bye baby\r\n' 20:54:38.724075 ====> Client disconnect 20:54:38.724188 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.682246 Running IPv4 version 20:54:39.682292 Listening on port 42733 20:54:39.682326 Wrote pid 122455 to log/2/server/ftp_sockdata.pid 20:54:39.682342 Received PING (on stdin) 20:54:39.682408 Received PORT (on stdin) 20:54:39.682666 ====> Client connect 20:54:39.683305 Received DATA (on stdin) 20:54:39.683322 > 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/10/valgrind294 ../src/curl -q --output log/10/curl294.out --include --trace-ascii log/10/trace294 --trace-config all --trace-time ftp://127.0.0.1:41053/294/ --ftp-account "data for acct" > log/10/stdout294 2> log/10/stderr294 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind263 ../src/curl -q --output log/22/curl263.out --include --trace-ascii log/22/trace263 --trace-config all --trace-time -g -x "http://[::1]:35533" http://veryveryremotesite.com/263 > log/22/stdout263 2> log/22/stderr263 ta, server => client 20:54:39.683332 'WE ROOLZ: 110829\r\n' 20:54:39.683377 Received DISC (on stdin) 20:54:39.683389 ====> Client forcibly disconnected 20:54:39.683485 Received QUIT (on stdin) 20:54:39.683496 quits 20:54:39.683585 ============> 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 ==122631== ==122631== Process terminating with default action of signal 4 (SIGILL) ==122631== Illegal opcode at address 0x4003082 ==122631== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122631== by 0x4003082: main (tool_main.c:243) === End of file valgrind295 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/10/valgrind294 ../src/curl -q --output log/10/curl294.out --include --trace-ascii log/10/trace294 --trace-config all --trace-time ftp://127.0.0.1:41053/294/ --ftp-account "data for acct" > log/10/stdout294 2> log/10/stderr294 294: 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 294 === Start of file commands.log ../libtool --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/valgrind294 ../src/curl -q --output log/10/curl294.out --include --trace-ascii log/10/trace294 --trace-config all --trace-time ftp://127.0.0.1:41053/294/ --ftp-account "data for acct" > log/10/stdout294 2> log/10/stderr294 === End of file commands.log === Start of file ftp_server.log 20:54:39.437039 ====> Client connect 20:54:39.437160 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.437403 < "USER anonymous" 20:54:39.437433 > "331 We are happy you popped in![CR][LF]" 20:54:39.437568 < "PASS ftp@example.com" 20:54:39.437595 > "230 Welcome you silly person[CR][LF]" 20:54:39.437753 < "PWD" 20:54:39.437781 > "257 "/" is current directory[CR][LF]" 20:54:39.437905 < "EPSV" 20:54:39.437926 ====> Passive DATA channel requested by client 20:54:39.437938 DATA sockfilt for passive data channel starting... 20:54:39.439184 DATA sockfilt for passive data channel started (pid 122329) 20:54:39.439257 DATA sockfilt for passive data channel listens on port 36707 20:54:39.439284 > "229 Entering Passive Mode (|||36707|)[LF]" 20:54:39.439295 Client has been notified that DATA conn will be accepted on port 36707 20:54:39.439773 Client connects to port 36707 20:54:39.439818 ====> Client established passive DATA connection on port 36707 20:54:39.439904 < "TYPE I" 20:54:39.439936 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.440054 < "SIZE verifiedserver" 20:54:39.440083 > "213 18[CR][LF]" 20:54:39.440188 < "RETR verifiedserver" 20:54:39.440213 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.440274 =====> Closing passive DATA connection... 20:54:39.440286 Server disconnects passive DATA connection 20:54:39.440385 Server disconnected passive DATA connection 20:54:39.440407 DATA sockfilt for passive data channel quits (pid 122329) 20:54:39.440593 DATA sockfilt for passive data channel quit (pid 122329) 20:54:39.440610 =====> Closed passive DATA connection 20:54:39.440630 > "226 File transfer complete[CR][LF]" 20:54:39.482355 < "QUIT" 20:54:39.482415 > "221 bye bye baby[CR][LF]" 20:54:39.482613 MAIN sockfilt said DISC 20:54:39.482640 ====> Client disconnected 20:54:39.482702 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:38.658474 ====> Client connect 20:54:38.658681 Received DATA (on stdin) 20:54:38.658695 > 160 bytes data, server => client 20:54:38.658706 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:38.658716 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:38.658726 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:38.658787 < 16 bytes data, client => server 20:54:38.658800 'USER anonymous\r\n' 20:54:38.658942 Received DATA (on stdin) 20:54:38.658960 > 33 bytes data, server => client 20:54:38.658972 '331 We are happy you popped in!\r\n' 20:54:38.659021 < 22 bytes data, client => server 20:54:38.659032 'PASS ftp@example.com\r\n' 20:54:38.659108 Received DATA (on stdin) 20:54:38.659121 > 30 bytes data, server => client 20:54:38.659131 '230 Welcome you silly person\r\n' 20:54:38.659189 < 5 bytes data, client => server 20:54:38.659200 'PWD\r\n' 20:54:38.659294 Received DATA (on stdin) 20:54:38.659305 > 30 bytes data, server => client 20:54:38.659315 '257 "/" is current directory\r\n' 20:54:38.659361 < 6 bytes data, client => server 20:54:38.659372 'EPSV\r\n' 20:54:38.660815 Received DATA (on stdin) 20:54:38.660838 > 38 bytes data, server => client 20:54:38.660851 '229 Entering Passive Mode (|||36707|)\n' 20:54:38.661226 < 8 bytes data, client => server 20:54:38.661238 'TYPE I\r\n' 20:54:38.661446 Received DATA (on stdin) 20:54:38.661456 > 33 bytes data, server => client 20:54:38.661464 '200 I modify TYPE as you wanted\r\n' 20:54:38.661502 < 21 bytes data, client => server 20:54:38.661510 'SIZE verifiedserver\r\n' 20:54:38.661592 Received DATA (on stdin) 20:54:38.661603 > 8 bytes data, server => client 20:54:38.661611 '213 18\r\n' 20:54:38.661648 < 21 bytes data, client => server 20:54:38.661659 'RETR verifiedserver\r\n' 20:54:38.661799 Received DATA (on stdin) 20:54:38.661810 > 29 bytes data, server => client 20:54:38.661820 '150 Binary junk (18 bytes).\r\n' 20:54:38.662140 Received DATA (on stdin) 20:54:38.662150 > 28 bytes data, server => client 20:54:38.662158 '226 File transfer complete\r\n' 20:54:38.703672 < 6 bytes data, client => server 20:54:38.703701 'QUIT\r\n' 20:54:38.703934 Received DATA (on stdin) 20:54:38.703947 > 18 bytes data, server => client 20:54:38.703956 '221 bye bye baby\r\n' 20:54:38.704076 ====> Client disconnect 20:54:38.704151 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.660561 Running IPv4 version 20:54:39.660606 Listening on port 36707 20:54:39.660638 Wrote pid 122329 to log/10/server/ftp_sockdata.pid 20:54:39.660651 Received PING (on stdin) 20:54:39.660708 Received PORT (on stdin) 20:54:39.661193 ====> Client connect 20:54:39.661799 Received DATA (on stdin) 20:54:39.661810 > 18 bytes data, server => client 20:54:39.661820 'WE ROOLZ: 110827\r\n' 20:54:39.661842 Received DISC (on stdin) 20:54:39.661853 ====> Client forcibly disconnected 20:54:39.661923 Received QUIT (on stdin) 20:54:39.661932 quits 20:54:39.661972 ============> 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 ==122577== ==122577== Process terminating with default action of signal 4 (SIGILL) ==122577== Illegal opcode at address 0x4003082 ==122577== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122577== by 0x4003082: main (tool_main.c:243) === End of file valgrind294 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_ipv6_server.pid" --logfile "log/22/http_ipv6_server.log" --logdir "log/22" --portfile log/22/server/http_ipv6_server.port --config log/22/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 120583 port 35533 * pid http-ipv6 => 120583 120583 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-callersCMD (33792): ../libtool --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/valgrind296 ../src/curl -q --output log/11/curl296.out --include --trace-ascii log/11/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:45405/first/second/third/296 > log/11/stdout296 2> log/11/stderr296 =16 --log-file=log/22/valgrind263 ../src/curl -q --output log/22/curl263.out --include --trace-ascii log/22/trace263 --trace-config all --trace-time -g -x "http://[::1]:35533" http://veryveryremotesite.com/263 > log/22/stdout263 2> log/22/stderr263 263: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind263 ../src/curl -q --output log/22/curl263.out --include --trace-ascii log/22/trace263 --trace-config all --trace-time -g -x "http://[::1]:35533" http://veryveryremotesite.com/263 > log/22/stdout263 2> log/22/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 20:54:38.773215 Running HTTP IPv6 version on port 35533 20:54:38.773268 Wrote pid 120583 to log/22/server/http_ipv6_server.pid 20:54:38.773290 Wrote port 35533 to log/22/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 263 === End of file server.cmd === Start of file valgrind263 ==122713== ==122713== Process terminating with default action of signal 4 (SIGILL) ==122713== Illegal opcode at address 0x4003082 ==122713== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122713== by 0x4003082: main (tool_main.c:243) === End of file valgrind263 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/11/valgrind296 ../src/curl -q --output log/11/curl296.out --include --trace-ascii log/11/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:45405/first/second/third/296 > log/11/stdout296 2> log/11/stderr296 296: 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 296 === Start of file commands.log ../libtool --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/valgrind296 ../src/curl -q --output log/11/curl296.out --include --trace-ascii log/11/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:45405/first/second/third/296 > log/11/stdout296 2> log/11/stderr296 === End of file commands.log === Start of file ftp_server.log 20:54:39.482667 ====> Client connect 20:54:39.482807 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.483086 < "USER anonymous" 20:54:39.483138 > "331 We are happy you popped in![CR][LF]" 20:54:39.483305 < "PASS ftp@example.com" 20:54:39.483330 > "230 Welcome you silly person[CR][LF]" 20:54:39.483718 < "PWD" 20:54:39.483747 > "257 "/" is current directory[CR][LF]" 20:54:39.483923 < "EPSV" 20:54:39.483945 ====> Passive DATA channel requested by client 20:54:39.483956 DATA sockfilt for passive data channel starting... 20:54:39.485696 DATA sockfilt for passive data channel started (pid 122557) 20:54:39.485806 DATA sockfilt for passive data channel listens on port 39859 20:54:39.485840 > "229 Entering Passive Mode (|||39859|)[LF]" 20:54:39.485855 Client has been notified that DATA conn will be accepted on port 39859 20:54:39.486101 Client connects to port 39859 20:54:39.486139 ====> Client established passive DATA connection on port 39859 20:54:39.486209 < "TYPE I" 20:54:39.486243 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.486390 < "SIZE verifiedserver" 20:54:39.486421 > "213 18[CR][LF]" 20:54:39.486549 < "RETR verifiedserver" 20:54:39.486587 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.486675 =====> Closing passive DATA connection... 20:54:39.486691 Server disconnects passive DATA connection 20:54:39.486953 Server disconnected passive DATA connection 20:54:39.486993 DATA sockfilt for passive data channel quits (pid 122557) 20:54:39.487314 DATA sockfilt for passive data channel quit (pid 122557) 20:54:39.487339 =====> Closed passive DATA connection 20:54:39.487384 > "226 File transfer complete[CR][LF]" 20:54:39.528967 < "QUIT" 20:54:39.529041 > "221 bye bye baby[CR][LF]" 20:54:39.529749 MAIN sockfilt said DISC 20:54:39.529789 ====> Client disconnected 20:54:39.529837 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.704081 ====> Client connect 20:54:39.704333 Received DATA (on stdin) 20:54:39.704348 > 160 bytes data, server => client 20:54:39.704359 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.704370 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.704380 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.704441 < 16 bytes data, client => server 20:54:39.704454 'USER anonymous\r\n' 20:54:39.704658 Received DATA (on stdin) 20:54:39.704675 > 33 bytes data, server => client 20:54:39.704688 '331 We are happy you popped in!\r\n' 20:54:39.704755 < 22 bytes data, client => server 20:54:39.704777 'PASS ftp@example.com\r\n' 20:54:39.704841 Received DATA (on stdin) 20:54:39.704861 > 30 bytes data, server => client 20:54:39.704873 '230 Welcome you silly person\r\n' 20:54:39.705178 < 5 bytes data, client => server 20:54:39.705200 'PWD\r\n' 20:54:39.705260 Received DATA (on stdin) 20:54:39.705273 > 30 bytes data, server => client 20:54:39.705283 '257 "/" is current directory\r\n' 20:54:39.705362 < 6 bytes data, client => server 20:54:39.705372 'EPSV\r\n' 20:54:39.707373 Received DATA (on stdin) 20:54:39.707388 > 38 bytes data, server => client 20:54:39.707398 '229 Entering Passive Mode (|||39859|)\n' 20:54:39.707529 < 8 bytes data, client => server 20:54:39.707569 'TYPE I\r\n' 20:54:39.707757 Received DATA (on stdin) 20:54:39.707773 > 33 bytes data, server => client 20:54:39.707783 '200 I modify TYPE as you wanted\r\n' 20:54:39.707830 < 21 bytes data, client => server 20:54:39.707840 'SIZE verifiedserver\r\n' 20:54:39.707933 Received DATA (on stdin) 20:54:39.707943 > 8 bytes data, server => client 20:54:39.707952 '213 18\r\n' 20:54:39.707992 < 21 bytes data, client => server 20:54:39.708003 'RETR verifiedserver\r\n' 20:54:39.708205 Received DATA (on stdin) 20:54:39.708216 > 29 bytes data, server => client 20:54:39.708226 '150 Binary junk (18 bytes).\r\n' 20:54:39.708911 Received DATA (on stdin) 20:54:39.708930 > 28 bytes data, server => client 20:54:39.708941 '226 File transfer complete\r\n' 20:54:39.750342 < 6 bytes data, client => server 20:54:39.750361 'QUIT\r\n' 20:54:39.750574 Received DATA (on stdin) 20:54:39.750594 > 18 bytes data, server => client 20:54:39.750602 '221 bye bye baby\r\n' 20:54:39.751209 ====> Client disconnect 20:54:39.751347 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.707040 Running IPv4 version 20:54:39.707100 Listening on port 39859 20:54:39.707137 Wrote pid 122557 to log/11/server/ftp_sockdata.pid 20:54:39.707155 Received PING (on stdin) 20:54:39.707236 Received PORT (on stdin) 20:54:39.707534 ====> Client connect 20:54:39.708118 Received DATA (on stdin) 20:54:39.708137 > 18 bytes data, server => client 20:54:39.708146 'WE ROOLZ: 110833\r\n' 20:54:39.708353 Received DISC (on stdin) 20:54:39.708382 ====> Client forcibly disconnected 20:54:39.708531 Received QUIT (on stdin) 20:54:39.708542 quits 20:54:39.708638 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==122703== ==122703== Process terminating with default action of signal 4 (SIGILL) ==122703== Illegal opcode at address 0x4003082 ==122703== at 0x4003082: UnknownInlinedFCMD (33792): ../libtool --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/valgrind297 ../src/curl -q --output log/4/curl297.out --include --trace-ascii log/4/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45117/first/second/third/297 > log/4/stdout297 2> log/4/stderr297 CMD (33792): ../libtool --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/valgrind298 ../src/curl -q --output log/3/curl298.out --include --trace-ascii log/3/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:39117/first/second/th%69rd/298 > log/3/stdout298 2> log/3/stderr298 un (string_fortified.h:59) ==122703== by 0x4003082: main (tool_main.c:243) === End of file valgrind296 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/4/valgrind297 ../src/curl -q --output log/4/curl297.out --include --trace-ascii log/4/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45117/first/second/third/297 > log/4/stdout297 2> log/4/stderr297 297: 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 297 === Start of file commands.log ../libtool --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/valgrind297 ../src/curl -q --output log/4/curl297.out --include --trace-ascii log/4/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45117/first/second/third/297 > log/4/stdout297 2> log/4/stderr297 === End of file commands.log === Start of file ftp_server.log 20:54:39.509013 ====> Client connect 20:54:39.509142 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:39.512272 < "USER anonymous" 20:54:39.512330 > "331 We are happy you popped in![CR][LF]" 20:54:39.512526 < "PASS ftp@example.com" 20:54:39.512555 > "230 Welcome you silly person[CR][LF]" 20:54:39.512668 < "PWD" 20:54:39.512693 > "257 "/" is current directory[CR][LF]" 20:54:39.512800 < "EPSV" 20:54:39.512821 ====> Passive DATA channel requested by client 20:54:39.512831 DATA sockfilt for passive data channel starting... 20:54:39.514109 DATA sockfilt for passive data channel started (pid 122633) 20:54:39.514191 DATA sockfilt for passive data channel listens on port 45665 20:54:39.514225 > "229 Entering Passive Mode (|||45665|)[LF]" 20:54:39.514243 Client has been notified that DATA conn will be accepted on port 45665 20:54:39.514626 Client connects to port 45665 20:54:39.514702 ====> Client established passive DATA connection on port 45665 20:54:39.514801 < "TYPE I" 20:54:39.514839 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.515084 < "SIZE verifiedserver" 20:54:39.515131 > "213 18[CR][LF]" 20:54:39.515266 < "RETR verifiedserver" 20:54:39.515302 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.515395 =====> Closing passive DATA connection... 20:54:39.515410 Server disconnects passive DATA connection 20:54:39.515479 Server disconnected passive DATA connection 20:54:39.515512 DATA sockfilt for passive data channel quits (pid 122633) 20:54:39.515741 DATA sockfilt for passive data channel quit (pid 122633) 20:54:39.515774 =====> Closed passive DATA connection 20:54:39.515803 > "226 File transfer complete[CR][LF]" 20:54:39.558998 < "QUIT" 20:54:39.559056 > "221 bye bye baby[CR][LF]" 20:54:39.559191 MAIN sockfilt said DISC 20:54:39.559215 ====> Client disconnected 20:54:39.559293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.730439 ====> Client connect 20:54:39.730638 Received DATA (on stdin) 20:54:39.730654 > 160 bytes data, server => client 20:54:39.730666 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.730676 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.730685 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.730757 < 16 bytes data, client => server 20:54:39.730768 'USER anonymous\r\n' 20:54:39.733853 Received DATA (on stdin) 20:54:39.733868 > 33 bytes data, server => client 20:54:39.733879 '331 We are happy you popped in!\r\n' 20:54:39.733940 < 22 bytes data, client => server 20:54:39.733959 'PASS ftp@example.com\r\n' 20:54:39.734066 Received DATA (on stdin) 20:54:39.734077 > 30 bytes data, server => client 20:54:39.734086 '230 Welcome you silly person\r\n' 20:54:39.734126 < 5 bytes data, client => server 20:54:39.734137 'PWD\r\n' 20:54:39.734201 Received DATA (on stdin) 20:54:39.734209 > 30 bytes data, server => client 20:54:39.734217 '257 "/" is current directory\r\n' 20:54:39.734260 < 6 bytes data, client => server 20:54:39.734272 'EPSV\r\n' 20:54:39.735735 Received DATA (on stdin) 20:54:39.735775 > 38 bytes data, server => client 20:54:39.735789 '229 Entering Passive Mode (|||45665|)\n' 20:54:39.736048 < 8 bytes data, client => server 20:54:39.736067 'TYPE I\r\n' 20:54:39.736429 Received DATA (on stdin) 20:54:39.736447 > 33 bytes data, server => client 20:54:39.736458 '200 I modify TYPE as you wanted\r\n' 20:54:39.736517 < 21 bytes data, client => server 20:54:39.736529 'SIZE verifiedserver\r\n' 20:54:39.736643 Received DATA (on stdin) 20:54:39.736659 > 8 bytes data, server => client 20:54:39.736670 '213 18\r\n' 20:54:39.736719 < 21 bytes data, client => server 20:54:39.736732 'RETR verifiedserver\r\n' 20:54:39.736914 Received DATA (on stdin) 20:54:39.736933 > 29 bytes data, server => client 20:54:39.736944 '150 Binary junk (18 bytes).\r\n' 20:54:39.737320 Received DATA (on stdin) 20:54:39.737335 > 28 bytes data, server => client 20:54:39.737345 '226 File transfer complete\r\n' 20:54:39.780349 < 6 bytes data, client => server 20:54:39.780371 'QUIT\r\n' 20:54:39.780574 Received DATA (on stdin) 20:54:39.780586 > 18 bytes data, server => client 20:54:39.780596 '221 bye bye baby\r\n' 20:54:39.780657 ====> Client disconnect 20:54:39.780714 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.735471 Running IPv4 version 20:54:39.735521 Listening on port 45665 20:54:39.735557 Wrote pid 122633 to log/4/server/ftp_sockdata.pid 20:54:39.735572 Received PING (on stdin) 20:54:39.735636 Received PORT (on stdin) 20:54:39.736070 ====> Client connect 20:54:39.736829 Received DATA (on stdin) 20:54:39.736846 > 18 bytes data, server => client 20:54:39.736860 'WE ROOLZ: 110707\r\n' 20:54:39.736933 Received DISC (on stdin) 20:54:39.736950 ====> Client forcibly disconnected 20:54:39.737040 Received QUIT (on stdin) 20:54:39.737055 quits 20:54:39.737116 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==122803== ==122803== Process terminating with default action of signal 4 (SIGILL) ==122803== Illegal opcode at address 0x4003082 ==122803== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122803== by 0x4003082: main (tool_main.c:243) === 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/3/valgrind298 ../src/curl -q --output log/3/curl298.out --include --trace-ascii log/3/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:39117/first/second/th%69rd/298 > log/3/stdout298 2> log/3/stderr298 298: 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 298 === Start of file commands.log ../libtool --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/valgrind298 ../src/curl -q --output log/3/curl298.out --include --trace-ascii log/3/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:39117/first/second/th%69rd/298 > log/3/stdout298 2> log/3/stderr298 === End of file commands.log === Start of file ftp_server.log 20:54:39.516165 ====> Client connect 20:54:39.516319 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]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/18/valgrind271 ../src/curl -q --output log/18/curl271.out --include --trace-ascii log/18/trace271 --trace-config all --trace-time tftp://127.0.0.1:46469//271 > log/18/stdout271 2> log/18/stderr271 CMD (33792): ../libtool --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/valgrind299 ../src/curl -q --output log/1/curl299.out --include --trace-ascii log/1/trace299 --trace-config all --trace-time -x http://127.0.0.1:42503 -u michal:aybabtu ftp://host.com/we/want/299 > log/1/stdout299 2> log/1/stderr299 \_\_____|[CR][LF]" 20:54:39.516504 < "USER anonymous" 20:54:39.516538 > "331 We are happy you popped in![CR][LF]" 20:54:39.516715 < "PASS ftp@example.com" 20:54:39.516740 > "230 Welcome you silly person[CR][LF]" 20:54:39.516861 < "PWD" 20:54:39.516883 > "257 "/" is current directory[CR][LF]" 20:54:39.516992 < "EPSV" 20:54:39.517011 ====> Passive DATA channel requested by client 20:54:39.517021 DATA sockfilt for passive data channel starting... 20:54:39.518691 DATA sockfilt for passive data channel started (pid 122647) 20:54:39.518800 DATA sockfilt for passive data channel listens on port 44949 20:54:39.518839 > "229 Entering Passive Mode (|||44949|)[LF]" 20:54:39.518858 Client has been notified that DATA conn will be accepted on port 44949 20:54:39.519062 Client connects to port 44949 20:54:39.519091 ====> Client established passive DATA connection on port 44949 20:54:39.519150 < "TYPE I" 20:54:39.519178 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:39.519330 < "SIZE verifiedserver" 20:54:39.519364 > "213 18[CR][LF]" 20:54:39.519836 < "RETR verifiedserver" 20:54:39.519869 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:39.519938 =====> Closing passive DATA connection... 20:54:39.519954 Server disconnects passive DATA connection 20:54:39.520025 Server disconnected passive DATA connection 20:54:39.520048 DATA sockfilt for passive data channel quits (pid 122647) 20:54:39.520274 DATA sockfilt for passive data channel quit (pid 122647) 20:54:39.520303 =====> Closed passive DATA connection 20:54:39.520328 > "226 File transfer complete[CR][LF]" 20:54:39.565641 < "QUIT" 20:54:39.565684 > "221 bye bye baby[CR][LF]" 20:54:39.565902 MAIN sockfilt said DISC 20:54:39.565949 ====> Client disconnected 20:54:39.565999 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.737567 ====> Client connect 20:54:39.737806 Received DATA (on stdin) 20:54:39.737826 > 160 bytes data, server => client 20:54:39.737837 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.737847 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.737855 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.737912 < 16 bytes data, client => server 20:54:39.737923 'USER anonymous\r\n' 20:54:39.738053 Received DATA (on stdin) 20:54:39.738065 > 33 bytes data, server => client 20:54:39.738075 '331 We are happy you popped in!\r\n' 20:54:39.738140 < 22 bytes data, client => server 20:54:39.738158 'PASS ftp@example.com\r\n' 20:54:39.738250 Received DATA (on stdin) 20:54:39.738259 > 30 bytes data, server => client 20:54:39.738267 '230 Welcome you silly person\r\n' 20:54:39.738310 < 5 bytes data, client => server 20:54:39.738318 'PWD\r\n' 20:54:39.738390 Received DATA (on stdin) 20:54:39.738398 > 30 bytes data, server => client 20:54:39.738406 '257 "/" is current directory\r\n' 20:54:39.738445 < 6 bytes data, client => server 20:54:39.738453 'EPSV\r\n' 20:54:39.740363 Received DATA (on stdin) 20:54:39.740377 > 38 bytes data, server => client 20:54:39.740387 '229 Entering Passive Mode (|||44949|)\n' 20:54:39.740546 < 8 bytes data, client => server 20:54:39.740563 'TYPE I\r\n' 20:54:39.740695 Received DATA (on stdin) 20:54:39.740716 > 33 bytes data, server => client 20:54:39.740727 '200 I modify TYPE as you wanted\r\n' 20:54:39.740782 < 21 bytes data, client => server 20:54:39.740795 'SIZE verifiedserver\r\n' 20:54:39.740879 Received DATA (on stdin) 20:54:39.741197 > 8 bytes data, server => client 20:54:39.741212 '213 18\r\n' 20:54:39.741264 < 21 bytes data, client => server 20:54:39.741278 'RETR verifiedserver\r\n' 20:54:39.741458 Received DATA (on stdin) 20:54:39.741471 > 29 bytes data, server => client 20:54:39.741481 '150 Binary junk (18 bytes).\r\n' 20:54:39.741880 Received DATA (on stdin) 20:54:39.741902 > 28 bytes data, server => client 20:54:39.741912 '226 File transfer complete\r\n' 20:54:39.787007 < 6 bytes data, client => server 20:54:39.787028 'QUIT\r\n' 20:54:39.787177 Received DATA (on stdin) 20:54:39.787188 > 18 bytes data, server => client 20:54:39.787198 '221 bye bye baby\r\n' 20:54:39.787318 ====> Client disconnect 20:54:39.787521 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:39.740049 Running IPv4 version 20:54:39.740094 Listening on port 44949 20:54:39.740130 Wrote pid 122647 to log/3/server/ftp_sockdata.pid 20:54:39.740150 Received PING (on stdin) 20:54:39.740232 Received PORT (on stdin) 20:54:39.740525 ====> Client connect 20:54:39.741394 Received DATA (on stdin) 20:54:39.741410 > 18 bytes data, server => client 20:54:39.741420 'WE ROOLZ: 110703\r\n' 20:54:39.741471 Received DISC (on stdin) 20:54:39.741488 ====> Client forcibly disconnected 20:54:39.741568 Received QUIT (on stdin) 20:54:39.741583 quits 20:54:39.741626 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==122823== ==122823== Process terminating with default action of signal 4 (SIGILL) ==122823== Illegal opcode at address 0x4003082 ==122823== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122823== by 0x4003082: main (tool_main.c:243) === End of file valgrind298 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/18/server/tftp_server.pid" --portfile "log/18/server/tftp_server.port" --logfile "log/18/tftp_server.log" --logdir "log/18" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 120917 port 46469 * pid tftp => 120917 120917 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/18/valgrind271 ../src/curl -q --output log/18/curl271.out --include --trace-ascii log/18/trace271 --trace-config all --trace-time tftp://127.0.0.1:46469//271 > log/18/stdout271 2> log/18/stderr271 271: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind271 ../src/curl -q --output log/18/curl271.out --include --trace-ascii log/18/trace271 --trace-config all --trace-time tftp://127.0.0.1:46469//271 > log/18/stdout271 2> log/18/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 20:54:38.872701 Wrote pid 120917 to log/18/server/tftp_server.pid 20:54:38.872749 Wrote port 46469 to log/18/server/tftp_server.port 20:54:38.872759 Running IPv4 version on port UDP/46469 === End of file tftp_server.log === Start of file valgrind271 ==122954== ==122954== Process terminating with default action of signal 4 (SIGILL) ==122954== Illegal opcode at address 0x4003082 ==122954== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==122954== by 0x4003082: main (tool_main.c:243) === End of file valgrind271 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/1/valgrind299 ../src/curl -q --output log/1/curl299.out --include --trace-ascii log/1/trace299 --trace-config all --trace-time -x http://127.0.0.1:42503 -u michal:aybabtu ftp://host.com/we/want/299 > log/1/stdout299 2> log/1/stderr299 299: 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 299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.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/20/valgrind314 ../src/curl -q --output log/20/curl314.out --include --trace-ascii log/20/trace314 --trace-config all --trace-time http://127.0.0.1:41293/314 --compressed > log/20/stdout314 2> log/20/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/8/valgrind317 ../src/curl -q --output log/8/curl317.out --include --trace-ascii log/8/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35791 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/8/stdout317 2> log/8/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/5/valgrind316 ../src/curl -q --output log/5/curl316.out --include --trace-ascii log/5/trace316 --trace-config all --trace-time http://127.0.0.1:33725/316 --compressed > log/5/stdout316 2> log/5/stderr316 --num-callers=16 --log-file=log/1/valgrind299 ../src/curl -q --output log/1/curl299.out --include --trace-ascii log/1/trace299 --trace-config all --trace-time -x http://127.0.0.1:42503 -u michal:aybabtu ftp://host.com/we/want/299 > log/1/stdout299 2> log/1/stderr299 === End of file commands.log === Start of file http_server.log 20:54:39.869198 ====> Client connect 20:54:39.869229 accept_connection 3 returned 4 20:54:39.869247 accept_connection 3 returned 0 20:54:39.869261 Read 93 bytes 20:54:39.869271 Process 93 bytes request 20:54:39.869283 Got request: GET /verifiedserver HTTP/1.1 20:54:39.869292 Are-we-friendly question received 20:54:39.869318 Wrote request (93 bytes) input to log/1/server.input 20:54:39.869335 Identifying ourselves as friends 20:54:39.869406 Response sent (57 bytes) and written to log/1/server.response 20:54:39.869417 special request received, no persistency 20:54:39.869426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind299 ==123034== ==123034== Process terminating with default action of signal 4 (SIGILL) ==123034== Illegal opcode at address 0x4003082 ==123034== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123034== by 0x4003082: main (tool_main.c:243) === End of file valgrind299 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/20/valgrind314 ../src/curl -q --output log/20/curl314.out --include --trace-ascii log/20/trace314 --trace-config all --trace-time http://127.0.0.1:41293/314 --compressed > log/20/stdout314 2> log/20/stderr314 314: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind314 ../src/curl -q --output log/20/curl314.out --include --trace-ascii log/20/trace314 --trace-config all --trace-time http://127.0.0.1:41293/314 --compressed > log/20/stdout314 2> log/20/stderr314 === End of file commands.log === Start of file http_server.log 20:54:39.881588 ====> Client connect 20:54:39.881618 accept_connection 3 returned 4 20:54:39.881636 accept_connection 3 returned 0 20:54:39.881649 Read 93 bytes 20:54:39.881659 Process 93 bytes request 20:54:39.881673 Got request: GET /verifiedserver HTTP/1.1 20:54:39.881683 Are-we-friendly question received 20:54:39.881706 Wrote request (93 bytes) input to log/20/server.input 20:54:39.881721 Identifying ourselves as friends 20:54:39.881775 Response sent (57 bytes) and written to log/20/server.response 20:54:39.881785 special request received, no persistency 20:54:39.881796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind314 ==123136== ==123136== Process terminating with default action of signal 4 (SIGILL) ==123136== Illegal opcode at address 0x4003082 ==123136== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123136== by 0x4003082: main (tool_main.c:243) === End of file valgrind314 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/8/valgrind317 ../src/curl -q --output log/8/curl317.out --include --trace-ascii log/8/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35791 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/8/stdout317 2> log/8/stderr317 317: 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 317 === Start of file commands.log ../libtool --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/valgrind317 ../src/curl -q --output log/8/curl317.out --include --trace-ascii log/8/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35791 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/8/stdout317 2> log/8/stderr317 === End of file commands.log === Start of file http_server.log 20:54:39.881843 ====> Client connect 20:54:39.881878 accept_connection 3 returned 4 20:54:39.881895 accept_connection 3 returned 0 20:54:39.881911 Read 93 bytes 20:54:39.881921 Process 93 bytes request 20:54:39.881934 Got request: GET /verifiedserver HTTP/1.1 20:54:39.881944 Are-we-friendly question received 20:54:39.881970 Wrote request (93 bytes) input to log/8/server.input 20:54:39.881986 Identifying ourselves as friends 20:54:39.882048 Response sent (57 bytes) and written to log/8/server.response 20:54:39.882060 special request received, no persistency 20:54:39.882068 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind317 ==123086== ==123086== Process terminating with default action of signal 4 (SIGILL) ==123086== Illegal opcode at address 0x4003082 ==123086== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123086== by 0x4003082: main (tool_main.c:243) === End of file valgrind317 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/5/valgrind316 ../src/curl -q --output log/5/curl316.out --include --trace-ascii log/5/trace316 --trace-config all --trace-time http://127.0.0.1:33725/316 --compressed > log/5/stdout316 2> log/5/stderr316 316: protocol FAILED! There was no content at all in the file 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/21/valgrind315 ../src/curl -q --output log/21/curl315.out --include --trace-ascii log/21/trace315 --trace-config all --trace-time http://127.0.0.1:36793/315 --compressed > log/21/stdout315 2> log/21/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/23/valgrind318 ../src/curl -q --output log/23/curl318.out --include --trace-ascii log/23/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:38539 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/23/stdout318 2> log/23/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/11/valgrind333 ../src/curl -q --output log/11/curl333.out --include --trace-ascii log/11/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/11/stdout333 2> log/11/stderr333 5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 316 === Start of file commands.log ../libtool --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/valgrind316 ../src/curl -q --output log/5/curl316.out --include --trace-ascii log/5/trace316 --trace-config all --trace-time http://127.0.0.1:33725/316 --compressed > log/5/stdout316 2> log/5/stderr316 === End of file commands.log === Start of file http_server.log 20:54:39.882491 ====> Client connect 20:54:39.882520 accept_connection 3 returned 4 20:54:39.882551 accept_connection 3 returned 0 20:54:39.882564 Read 93 bytes 20:54:39.882573 Process 93 bytes request 20:54:39.882583 Got request: GET /verifiedserver HTTP/1.1 20:54:39.882591 Are-we-friendly question received 20:54:39.882624 Wrote request (93 bytes) input to log/5/server.input 20:54:39.882639 Identifying ourselves as friends 20:54:39.882689 Response sent (57 bytes) and written to log/5/server.response 20:54:39.882698 special request received, no persistency 20:54:39.882706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind316 ==123135== ==123135== Process terminating with default action of signal 4 (SIGILL) ==123135== Illegal opcode at address 0x4003082 ==123135== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123135== by 0x4003082: main (tool_main.c:243) === End of file valgrind316 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/21/valgrind315 ../src/curl -q --output log/21/curl315.out --include --trace-ascii log/21/trace315 --trace-config all --trace-time http://127.0.0.1:36793/315 --compressed > log/21/stdout315 2> log/21/stderr315 315: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind315 ../src/curl -q --output log/21/curl315.out --include --trace-ascii log/21/trace315 --trace-config all --trace-time http://127.0.0.1:36793/315 --compressed > log/21/stdout315 2> log/21/stderr315 === End of file commands.log === Start of file http_server.log 20:54:39.881749 ====> Client connect 20:54:39.881784 accept_connection 3 returned 4 20:54:39.881803 accept_connection 3 returned 0 20:54:39.881818 Read 93 bytes 20:54:39.881829 Process 93 bytes request 20:54:39.881841 Got request: GET /verifiedserver HTTP/1.1 20:54:39.881851 Are-we-friendly question received 20:54:39.881877 Wrote request (93 bytes) input to log/21/server.input 20:54:39.881895 Identifying ourselves as friends 20:54:39.881956 Response sent (57 bytes) and written to log/21/server.response 20:54:39.881968 special request received, no persistency 20:54:39.881977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind315 ==123082== ==123082== Process terminating with default action of signal 4 (SIGILL) ==123082== Illegal opcode at address 0x4003082 ==123082== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123082== by 0x4003082: main (tool_main.c:243) === End of file valgrind315 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/23/valgrind318 ../src/curl -q --output log/23/curl318.out --include --trace-ascii log/23/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:38539 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/23/stdout318 2> log/23/stderr318 318: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind318 ../src/curl -q --output log/23/curl318.out --include --trace-ascii log/23/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:38539 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/23/stdout318 2> log/23/stderr318 === End of file commands.log === Start of file http_server.log 20:54:39.893056 ====> Client connect 20:54:39.893084 accept_connection 3 returned 4 20:54:39.893101 accept_connection 3 returned 0 20:54:39.893116 Read 93 bytes 20:54:39.893125 Process 93 bytes request 20:54:39.893135 Got request: GET /verifiedserver HTTP/1.1 20:54:39.893144 Are-we-friendly question received 20:54:39.893165 Wrote request (93 bytes) input to log/23/server.input 20:54:39.893180 Identifying ourselves as friends 20:54:39.893227 Response sent (57 bytes) and written to log/23/server.response 20:54:39.893236 special request received, no persistency 20:54:39.893244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind318 ==123138== ==123138== Process terminating with default action of signal 4 (SIGILL) ==123138== Illegal opcode at address 0x4003082 ==123138== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123138== by 0x4003082: main (tool_main.c:243) === End of file valgrind318 * 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 --nCMD (33792): ../libtool --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/valgrind284 ../src/curl -q --output log/9/curl284.out --include --trace-ascii log/9/trace284 --trace-config all --trace-time tftp://127.0.0.1:37218//284 > log/9/stdout284 2> log/9/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/15/valgrind283 ../src/curl -q --output log/15/curl283.out --include --trace-ascii log/15/trace283 --trace-config all --trace-time tftp://127.0.0.1:56321//invalid-file --tftp-blksize 1024 > log/15/stdout283 2> log/15/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/17/valgrind285 ../src/curl -q --output log/17/curl285.out --include --trace-ascii log/17/trace285 --trace-config all --trace-time -T log/17/test285.txt tftp://127.0.0.1:52331// --connect-timeout 549 > log/17/stdout285 2> log/17/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/24/valgrind319 ../src/curl -q --output log/24/curl319.out --trace-ascii log/24/trace319 --trace-config all --trace-time http://127.0.0.1:45957/319 --raw > log/24/stdout319 2> log/24/stderr319 um-callers=16 --log-file=log/11/valgrind333 ../src/curl -q --output log/11/curl333.out --include --trace-ascii log/11/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/11/stdout333 2> log/11/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/11/ dir after test 333 === Start of file commands.log ../libtool --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/valgrind333 ../src/curl -q --output log/11/curl333.out --include --trace-ascii log/11/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/11/stdout333 2> log/11/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==123768== ==123768== Process terminating with default action of signal 4 (SIGILL) ==123768== Illegal opcode at address 0x4003082 ==123768== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123768== by 0x4003082: main (tool_main.c:243) === End of file valgrind333 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: TFTP server on PID 121877 port 37218 * pid tftp => 121877 121877 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/9/valgrind284 ../src/curl -q --output log/9/curl284.out --include --trace-ascii log/9/trace284 --trace-config all --trace-time tftp://127.0.0.1:37218//284 > log/9/stdout284 2> log/9/stderr284 284: 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 284 === Start of file commands.log ../libtool --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/valgrind284 ../src/curl -q --output log/9/curl284.out --include --trace-ascii log/9/trace284 --trace-config all --trace-time tftp://127.0.0.1:37218//284 > log/9/stdout284 2> log/9/stderr284 === End of file commands.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 20:54:39.336011 Wrote pid 121877 to log/9/server/tftp_server.pid 20:54:39.336053 Wrote port 37218 to log/9/server/tftp_server.port 20:54:39.336062 Running IPv4 version on port UDP/37218 === End of file tftp_server.log === Start of file valgrind284 ==123992== ==123992== Process terminating with default action of signal 4 (SIGILL) ==123992== Illegal opcode at address 0x4003082 ==123992== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123992== by 0x4003082: main (tool_main.c:243) === End of file valgrind284 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/15/server/tftp_server.pid" --portfile "log/15/server/tftp_server.port" --logfile "log/15/tftp_server.log" --logdir "log/15" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 121867 port 56321 * pid tftp => 121867 121867 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/15/valgrind283 ../src/curl -q --output log/15/curl283.out --include --trace-ascii log/15/trace283 --trace-config all --trace-time tftp://127.0.0.1:56321//invalid-file --tftp-blksize 1024 > log/15/stdout283 2> log/15/stderr283 283: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind283 ../src/curl -q --output log/15/curl283.out --include --trace-ascii log/15/trace283 --trace-config all --trace-time tftp://127.0.0.1:56321//invalid-file --tftp-blksize 1024 > log/15/stdout283 2> log/15/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 20:54:39.327770 Wrote pid 121867 to log/15/server/tftp_server.pid 20:54:39.327817 Wrote port 56321 to log/15/server/tftp_server.port 20:54:39.327826 Running IPv4 version on port UDP/56321 === End of file tftp_server.log === Start of file valgrind283 ==123961== ==123961== Process terminating with default action of signal 4 (SIGILL) ==123961== Illegal opcode at address 0x4003082 ==123961== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123961== by 0x4003082: main (tool_main.c:243) === End of file valgrind283 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/17/server/tftp_server.pid" --portfile "log/17/server/tftp_server.port" --logfile "log/17/tftp_server.log" --logdir "log/17" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 121883 port 52331 * pid tftp => 121883 121883 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/17/valgrind285 ../src/curl -q --output log/17/curl285.out --include --trace-ascii log/17/trace285 --trace-config all --trace-time -T log/17/test285.txt tftp://127.0.0.1:52331// --connect-timeout 549 > log/17/stdout285 2> log/17/stderr285 285: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind285 ../src/curl -q --output log/17/curl285.out --include --trace-ascii log/17/trace285 --trace-config all --trace-time -T log/17/test285.txt tftp://127.0.0.1:52331// --connect-timeout 549 > log/17/stdout285 2> log/17/stderr285 === End of file commands.log === 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 20:54:39.339927 Wrote pid 121883 to log/17/server/tftp_server.pid 20:54:39.339963 Wrote port 52331 to log/17/server/tftp_server.port 20:54:39.339973 Running IPv4 version on port UDP/52331 === End of file tftp_server.log === Start of file valgrind285 ==123995== ==123995== Process terminating with default action of signal 4 (SIGILL) ==123995== Illegal opcode at address 0x4003082 ==123995== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123995== by 0x4003082: main (tool_main.c:243) === End of file valgrind285 test 0319...[HTTP GET gobbledigook 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/24/valgrind319 ../src/curl -q --output log/24/curl319.out --trace-ascii log/24/trace319 --trace-config all --trace-time http://127.0.0.1:45957/319 --raw > log/24/stdout319 2> log/24/stderr319 319: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 319 === Start of file commands.log ../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/14/valgrind286 ../src/curl -q --output log/14/curl286.out --include --trace-ascii log/14/trace286 --trace-config all --trace-time -T log/14/test286.txt tftp://127.0.0.1:59929// > log/14/stdout286 2> log/14/stderr286 CMD (33792): ../libtool --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/valgrind328 ../src/curl -q --output log/12/curl328.out --include --trace-ascii log/12/trace328 --trace-config all --trace-time http://127.0.0.1:33337/hello/328 --compressed > log/12/stdout328 2> log/12/stderr328 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind327 ../src/curl -q --output log/19/curl327.out --include --trace-ascii log/19/trace327 --trace-config all --trace-time http://127.0.0.1:46549/we/want/327 -b none -c log/19/cookies327 http://127.0.0.1:46549/we/want/3270002 > log/19/stdout327 2> log/19/stderr327 mcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind319 ../src/curl -q --output log/24/curl319.out --trace-ascii log/24/trace319 --trace-config all --trace-time http://127.0.0.1:45957/319 --raw > log/24/stdout319 2> log/24/stderr319 === End of file commands.log === Start of file http_server.log 20:54:40.146776 ====> Client connect 20:54:40.146812 accept_connection 3 returned 4 20:54:40.146829 accept_connection 3 returned 0 20:54:40.146844 Read 93 bytes 20:54:40.146853 Process 93 bytes request 20:54:40.146875 Got request: GET /verifiedserver HTTP/1.1 20:54:40.146883 Are-we-friendly question received 20:54:40.146905 Wrote request (93 bytes) input to log/24/server.input 20:54:40.146921 Identifying ourselves as friends 20:54:40.146989 Response sent (57 bytes) and written to log/24/server.response 20:54:40.146998 special request received, no persistency 20:54:40.147007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind319 ==123407== ==123407== Process terminating with default action of signal 4 (SIGILL) ==123407== Illegal opcode at address 0x4003082 ==123407== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123407== by 0x4003082: main (tool_main.c:243) === End of file valgrind319 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/14/server/tftp_server.pid" --portfile "log/14/server/tftp_server.port" --logfile "log/14/tftp_server.log" --logdir "log/14" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 121888 port 59929 * pid tftp => 121888 121888 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/14/valgrind286 ../src/curl -q --output log/14/curl286.out --include --trace-ascii log/14/trace286 --trace-config all --trace-time -T log/14/test286.txt tftp://127.0.0.1:59929// > log/14/stdout286 2> log/14/stderr286 286: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind286 ../src/curl -q --output log/14/curl286.out --include --trace-ascii log/14/trace286 --trace-config all --trace-time -T log/14/test286.txt tftp://127.0.0.1:59929// > log/14/stdout286 2> log/14/stderr286 === End of file commands.log === 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 20:54:39.348609 Wrote pid 121888 to log/14/server/tftp_server.pid 20:54:39.348650 Wrote port 59929 to log/14/server/tftp_server.port 20:54:39.348659 Running IPv4 version on port UDP/59929 === End of file tftp_server.log === Start of file valgrind286 ==124070== ==124070== Process terminating with default action of signal 4 (SIGILL) ==124070== Illegal opcode at address 0x4003082 ==124070== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124070== by 0x4003082: main (tool_main.c:243) === End of file valgrind286 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/12/valgrind328 ../src/curl -q --output log/12/curl328.out --include --trace-ascii log/12/trace328 --trace-config all --trace-time http://127.0.0.1:33337/hello/328 --compressed > log/12/stdout328 2> log/12/stderr328 328: 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 328 === Start of file commands.log ../libtool --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/valgrind328 ../src/curl -q --output log/12/curl328.out --include --trace-ascii log/12/trace328 --trace-config all --trace-time http://127.0.0.1:33337/hello/328 --compressed > log/12/stdout328 2> log/12/stderr328 === End of file commands.log === Start of file http_server.log 20:54:40.183065 ====> Client connect 20:54:40.183097 accept_connection 3 returned 4 20:54:40.183114 accept_connection 3 returned 0 20:54:40.183128 Read 93 bytes 20:54:40.183137 Process 93 bytes request 20:54:40.183148 Got request: GET /verifiedserver HTTP/1.1 20:54:40.183157 Are-we-friendly question received 20:54:40.183178 Wrote request (93 bytes) input to log/12/server.input 20:54:40.183193 Identifying ourselves as friends 20:54:40.183269 Response sent (57 bytes) and written to log/12/server.response 20:54:40.183279 special request received, no persistency 20:54:40.183287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind328 ==123549== ==123549== Process terminating with default action of signal 4 (SIGILL) ==123549== Illegal opcode at address 0x4003082 ==123549== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123549== by 0x4003082: main (tool_main.c:243) === End of file valgrind328 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/19/valgrind327 ../src/curl -q --output log/19/curl327.out --include --trace-ascii log/19/trace327 --trace-config all --trace-time http://127.0.0.1:46549/we/want/327 -b none -c log/19/cookies327 http://127.0.0.1:46549/we/want/3270002 > log/19/stdout327 2> log/19/stderr327 327: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 327 === Start of file commands.log ../libtoolCMD (33792): ../libtool --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/valgrind330 ../src/curl -q --output log/2/curl330.out --include --trace-ascii log/2/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:43815 -H "Cookie: test=yes" --location > log/2/stdout330 2> log/2/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/6/valgrind329 ../src/curl -q --output log/6/curl329.out --include --trace-ascii log/6/trace329 --trace-config all --trace-time http://127.0.0.1:38475/we/want/329 -b log/6/jar329.txt -b log/6/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:38475/we/want/3290002 > log/6/stdout329 2> log/6/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/7/valgrind326 ../src/curl -q --output log/7/curl326.out --trace-ascii log/7/trace326 --trace-config all --trace-time http://127.0.0.1:39141/326 --raw > log/7/stdout326 2> log/7/stderr326 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind327 ../src/curl -q --output log/19/curl327.out --include --trace-ascii log/19/trace327 --trace-config all --trace-time http://127.0.0.1:46549/we/want/327 -b none -c log/19/cookies327 http://127.0.0.1:46549/we/want/3270002 > log/19/stdout327 2> log/19/stderr327 === End of file commands.log === Start of file http_server.log 20:54:40.178127 ====> Client connect 20:54:40.178159 accept_connection 3 returned 4 20:54:40.178176 accept_connection 3 returned 0 20:54:40.178190 Read 93 bytes 20:54:40.178200 Process 93 bytes request 20:54:40.178215 Got request: GET /verifiedserver HTTP/1.1 20:54:40.178225 Are-we-friendly question received 20:54:40.178257 Wrote request (93 bytes) input to log/19/server.input 20:54:40.178273 Identifying ourselves as friends 20:54:40.178330 Response sent (57 bytes) and written to log/19/server.response 20:54:40.178340 special request received, no persistency 20:54:40.178349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind327 ==123530== ==123530== Process terminating with default action of signal 4 (SIGILL) ==123530== Illegal opcode at address 0x4003082 ==123530== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123530== by 0x4003082: main (tool_main.c:243) === End of file valgrind327 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/2/valgrind330 ../src/curl -q --output log/2/curl330.out --include --trace-ascii log/2/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:43815 -H "Cookie: test=yes" --location > log/2/stdout330 2> log/2/stderr330 330: 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 330 === Start of file commands.log ../libtool --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/valgrind330 ../src/curl -q --output log/2/curl330.out --include --trace-ascii log/2/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:43815 -H "Cookie: test=yes" --location > log/2/stdout330 2> log/2/stderr330 === End of file commands.log === Start of file http_server.log 20:54:40.199352 ====> Client connect 20:54:40.199381 accept_connection 3 returned 4 20:54:40.199398 accept_connection 3 returned 0 20:54:40.199411 Read 93 bytes 20:54:40.199421 Process 93 bytes request 20:54:40.199433 Got request: GET /verifiedserver HTTP/1.1 20:54:40.199442 Are-we-friendly question received 20:54:40.199464 Wrote request (93 bytes) input to log/2/server.input 20:54:40.199481 Identifying ourselves as friends 20:54:40.199532 Response sent (57 bytes) and written to log/2/server.response 20:54:40.199542 special request received, no persistency 20:54:40.199550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind330 ==123658== ==123658== Process terminating with default action of signal 4 (SIGILL) ==123658== Illegal opcode at address 0x4003082 ==123658== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123658== by 0x4003082: main (tool_main.c:243) === End of file valgrind330 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/6/valgrind329 ../src/curl -q --output log/6/curl329.out --include --trace-ascii log/6/trace329 --trace-config all --trace-time http://127.0.0.1:38475/we/want/329 -b log/6/jar329.txt -b log/6/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:38475/we/want/3290002 > log/6/stdout329 2> log/6/stderr329 329: 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 329 === Start of file commands.log ../libtool --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/valgrind329 ../src/curl -q --output log/6/curl329.out --include --trace-ascii log/6/trace329 --trace-config all --trace-time http://127.0.0.1:38475/we/want/329 -b log/6/jar329.txt -b log/6/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:38475/we/want/3290002 > log/6/stdout329 2> log/6/stderr329 === End of file commands.log === Start of file http_server.log 20:54:40.184272 ====> Client connect 20:54:40.184297 accept_connection 3 returned 4 20:54:40.184311 accept_connection 3 returned 0 20:54:40.184321 Read 93 bytes 20:54:40.184329 Process 93 bytes request 20:54:40.184338 Got request: GET /verifiedserver HTTP/1.1 20:54:40.184345 Are-we-friendly question received 20:54:40.184362 Wrote request (93 bytes) input to log/6/server.input 20:54:40.184374 Identifying ourselves as friends 20:54:40.184415 Response sent (57 bytes) and written to log/6/server.response 20:54:40.184423 special request received, no persistency 20:54:40.184430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind329 ==123554== ==123554== Process terminating with default action of signal 4 (SIGILL) ==123554== Illegal opcode at address 0x4003082 ==123554== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123554== by 0x4003082: main (tool_main.c:243) === End of file valgrind329 test 0326...[HTTP GET chunked data in raw mode] ../libtool --mode=exeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind275 ../src/curl -q --output log/16/curl275.out --include --trace-ascii log/16/trace275 --trace-config all --trace-time http://remotesite.com.275:33409/we/want/that/page/275 -p -x 127.0.0.1:34755 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:33409/we/want/that/page/275 > log/16/stdout275 2> log/16/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/valgrind331 ../src/curl -q --output log/10/curl331.out --include --trace-ascii log/10/trace331 --trace-config all --trace-time -x http://127.0.0.1:43831 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/10/stdout331 2> log/10/stderr331 cute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind326 ../src/curl -q --output log/7/curl326.out --trace-ascii log/7/trace326 --trace-config all --trace-time http://127.0.0.1:39141/326 --raw > log/7/stdout326 2> log/7/stderr326 326: 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 326 === Start of file commands.log ../libtool --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/valgrind326 ../src/curl -q --output log/7/curl326.out --trace-ascii log/7/trace326 --trace-config all --trace-time http://127.0.0.1:39141/326 --raw > log/7/stdout326 2> log/7/stderr326 === End of file commands.log === Start of file http_server.log 20:54:40.156025 ====> Client connect 20:54:40.156052 accept_connection 3 returned 4 20:54:40.156068 accept_connection 3 returned 0 20:54:40.156082 Read 93 bytes 20:54:40.156091 Process 93 bytes request 20:54:40.156103 Got request: GET /verifiedserver HTTP/1.1 20:54:40.156112 Are-we-friendly question received 20:54:40.156137 Wrote request (93 bytes) input to log/7/server.input 20:54:40.156153 Identifying ourselves as friends 20:54:40.156203 Response sent (57 bytes) and written to log/7/server.response 20:54:40.156213 special request received, no persistency 20:54:40.156221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind326 ==123443== ==123443== Process terminating with default action of signal 4 (SIGILL) ==123443== Illegal opcode at address 0x4003082 ==123443== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123443== by 0x4003082: main (tool_main.c:243) === End of file valgrind326 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/16/server/http2_server.pid" --logfile "log/16/http2_server.log" --logdir "log/16" --portfile log/16/server/http2_server.port --config log/16/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 121449 port 34755 * pid http-proxy => 121449 121449 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/16/valgrind275 ../src/curl -q --output log/16/curl275.out --include --trace-ascii log/16/trace275 --trace-config all --trace-time http://remotesite.com.275:33409/we/want/that/page/275 -p -x 127.0.0.1:34755 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:33409/we/want/that/page/275 > log/16/stdout275 2> log/16/stderr275 275: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 275 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind275 ../src/curl -q --output log/16/curl275.out --include --trace-ascii log/16/trace275 --trace-config all --trace-time http://remotesite.com.275:33409/we/want/that/page/275 -p -x 127.0.0.1:34755 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:33409/we/want/that/page/275 > log/16/stdout275 2> log/16/stderr275 === End of file commands.log === Start of file http2_server.log 20:54:38.209983 Run as proxy, CONNECT to host 127.0.0.1 20:54:38.210047 Running HTTP IPv4 version on port 34755 20:54:38.210080 Wrote pid 121449 to log/16/server/http2_server.pid 20:54:38.210102 Wrote port 34755 to log/16/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 20:54:39.189941 ====> Client connect 20:54:39.189971 accept_connection 3 returned 4 20:54:39.189987 accept_connection 3 returned 0 20:54:39.190002 Read 93 bytes 20:54:39.190012 Process 93 bytes request 20:54:39.190026 Got request: GET /verifiedserver HTTP/1.1 20:54:39.190035 Are-we-friendly question received 20:54:39.190056 Wrote request (93 bytes) input to log/16/server.input 20:54:39.190071 Identifying ourselves as friends 20:54:39.190122 Response sent (57 bytes) and written to log/16/server.response 20:54:39.190132 special request received, no persistency 20:54:39.190141 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === End of file http_verify.out === Start of file server.cmd Testnum 275 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind275 ==123602== ==123602== Process terminating with default action of signal 4 (SIGILL) ==123602== Illegal opcode at address 0x4003082 ==123602== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123602== by 0x4003082: main (tool_main.c:243) === End of file valgrind275 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/10/valgrind331 ../src/curl -q --output log/10/curl331.out --include --trace-ascii log/10/trace331 --trace-config all --trace-time -x http://127.0.0.1:43831 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/10/stdout331 2> log/10/stderr331 331: 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 331 === Start of file commands.log ../libtool --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/valgrind331 ../src/curl -q --output log/10/curl331.out --include --trace-ascii log/10/trace331 --trace-config all --trace-time -x http://127.0.0.1:43831 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/10/stdout331 2> log/10/stderr331 === End of file commands.log === Start of file http_server.log 20:54:40.222132 ====> Client connect 20:54:40.222173 accept_connection 3 returned 4 20:54:40.222190 accept_connection 3 returned 0 20:54:40.222204 Read 93 bytes 20:54:40.222215 Process 93 bytes request 20:54:40.222228 Got request: GET /verifiedserver HTTP/1.1 20:54:40.222238 Are-we-friendly question received 20:54:40.222265 Wrote request (93 bytes) input to log/10/server.input 20:54:40.222282 Identifying ourselves as friends 20:54:40.222344 Response sent (57 bytes) and written to log/10/server.response 20:54:40.222356 special request received, no perCMD (33792): ../libtool --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/valgrind334 ../src/curl -q --output log/4/curl334.out --include --trace-ascii log/4/trace334 --trace-config all --trace-time http://127.0.0.1:35779/want/334 > log/4/stdout334 2> log/4/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/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:33171 --proxy-digest --digest > log/3/stdout335 2> log/3/stderr335 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind336 ../src/curl -q --output log/18/curl336.out --include --trace-ascii log/18/trace336 --trace-config all --trace-time ftp://127.0.0.1:37859/336 --range 3-6 > log/18/stdout336 2> log/18/stderr336 sistency 20:54:40.222366 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind331 ==123796== ==123796== Process terminating with default action of signal 4 (SIGILL) ==123796== Illegal opcode at address 0x4003082 ==123796== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123796== by 0x4003082: main (tool_main.c:243) === End of file valgrind331 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/4/valgrind334 ../src/curl -q --output log/4/curl334.out --include --trace-ascii log/4/trace334 --trace-config all --trace-time http://127.0.0.1:35779/want/334 > log/4/stdout334 2> log/4/stderr334 334: 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 334 === Start of file commands.log ../libtool --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/valgrind334 ../src/curl -q --output log/4/curl334.out --include --trace-ascii log/4/trace334 --trace-config all --trace-time http://127.0.0.1:35779/want/334 > log/4/stdout334 2> log/4/stderr334 === End of file commands.log === Start of file http_server.log 20:54:40.319567 ====> Client connect 20:54:40.319599 accept_connection 3 returned 4 20:54:40.319615 accept_connection 3 returned 0 20:54:40.319630 Read 93 bytes 20:54:40.319640 Process 93 bytes request 20:54:40.319655 Got request: GET /verifiedserver HTTP/1.1 20:54:40.319664 Are-we-friendly question received 20:54:40.319688 Wrote request (93 bytes) input to log/4/server.input 20:54:40.319705 Identifying ourselves as friends 20:54:40.319762 Response sent (57 bytes) and written to log/4/server.response 20:54:40.319773 special request received, no persistency 20:54:40.319782 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind334 ==123993== ==123993== Process terminating with default action of signal 4 (SIGILL) ==123993== Illegal opcode at address 0x4003082 ==123993== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==123993== by 0x4003082: main (tool_main.c:243) === End of file valgrind334 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:33171 --proxy-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 commands.log ../libtool --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:33171 --proxy-digest --digest > log/3/stdout335 2> log/3/stderr335 === End of file commands.log === Start of file http_server.log 20:54:40.328680 ====> Client connect 20:54:40.328715 accept_connection 3 returned 4 20:54:40.328732 accept_connection 3 returned 0 20:54:40.328746 Read 93 bytes 20:54:40.328755 Process 93 bytes request 20:54:40.328768 Got request: GET /verifiedserver HTTP/1.1 20:54:40.328777 Are-we-friendly question received 20:54:40.328801 Wrote request (93 bytes) input to log/3/server.input 20:54:40.328815 Identifying ourselves as friends 20:54:40.328874 Response sent (57 bytes) and written to log/3/server.response 20:54:40.328883 special request received, no persistency 20:54:40.328891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind335 ==124071== ==124071== Process terminating with default action of signal 4 (SIGILL) ==124071== Illegal opcode at address 0x4003082 ==124071== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124071== by 0x4003082: main (tool_main.c:243) === End of file valgrind335 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/18/valgrind336 ../src/curl -q --output log/18/curl336.out --include --trace-ascii log/18/trace336 --trace-config all --trace-time ftp://127.0.0.1:37859/336 --range 3-6 > log/18/stdout336 2> log/18/stderr336 336: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind336 ../src/curl -q --output log/18/curl336.out --include --trace-ascii log/18/trace336 --trace-config all --trace-time ftp://127.0.0.1:37859/336 --range 3-6 > log/18/stdout336 2> log/18/stderr336 === End of file commands.log === Start of file ftp_server.log 20:54:40.117859 ====> Client connect 20:54:40.118000 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.118254 < "USER anonymous" 20:54:40.118290 > "331 We are happy you popped in![CR][LF]" 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/21/valgrind341 ../src/curl -q --output log/21/curl341.out --include --trace-ascii log/21/trace341 --trace-config all --trace-time http://127.0.0.1:36793/341 --etag-compare log/21/etag341 > log/21/stdout341 2> log/21/stderr341 CMD (33792): ../libtool --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/valgrind339 ../src/curl -q --output log/8/curl339.out --include --trace-ascii log/8/trace339 --trace-config all --trace-time http://127.0.0.1:35791/339 --etag-save log/8/etag339 > log/8/stdout339 2> log/8/stderr339 :54:40.118456 < "PASS ftp@example.com" 20:54:40.118487 > "230 Welcome you silly person[CR][LF]" 20:54:40.118632 < "PWD" 20:54:40.118660 > "257 "/" is current directory[CR][LF]" 20:54:40.118856 < "EPSV" 20:54:40.118894 ====> Passive DATA channel requested by client 20:54:40.118907 DATA sockfilt for passive data channel starting... 20:54:40.120546 DATA sockfilt for passive data channel started (pid 124051) 20:54:40.120907 DATA sockfilt for passive data channel listens on port 36983 20:54:40.120960 > "229 Entering Passive Mode (|||36983|)[LF]" 20:54:40.120981 Client has been notified that DATA conn will be accepted on port 36983 20:54:40.121208 Client connects to port 36983 20:54:40.121241 ====> Client established passive DATA connection on port 36983 20:54:40.121383 < "TYPE I" 20:54:40.121432 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.121650 < "SIZE verifiedserver" 20:54:40.121692 > "213 18[CR][LF]" 20:54:40.121846 < "RETR verifiedserver" 20:54:40.121880 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.121970 =====> Closing passive DATA connection... 20:54:40.121986 Server disconnects passive DATA connection 20:54:40.122232 Server disconnected passive DATA connection 20:54:40.122261 DATA sockfilt for passive data channel quits (pid 124051) 20:54:40.122501 DATA sockfilt for passive data channel quit (pid 124051) 20:54:40.122525 =====> Closed passive DATA connection 20:54:40.122553 > "226 File transfer complete[CR][LF]" 20:54:40.169237 < "QUIT" 20:54:40.169291 > "221 bye bye baby[CR][LF]" 20:54:40.169648 MAIN sockfilt said DISC 20:54:40.169704 ====> Client disconnected 20:54:40.169780 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.339264 ====> Client connect 20:54:40.339521 Received DATA (on stdin) 20:54:40.339535 > 160 bytes data, server => client 20:54:40.339547 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.339557 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.339567 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.339636 < 16 bytes data, client => server 20:54:40.339647 'USER anonymous\r\n' 20:54:40.339808 Received DATA (on stdin) 20:54:40.339821 > 33 bytes data, server => client 20:54:40.339831 '331 We are happy you popped in!\r\n' 20:54:40.339879 < 22 bytes data, client => server 20:54:40.339892 'PASS ftp@example.com\r\n' 20:54:40.340002 Received DATA (on stdin) 20:54:40.340014 > 30 bytes data, server => client 20:54:40.340024 '230 Welcome you silly person\r\n' 20:54:40.340070 < 5 bytes data, client => server 20:54:40.340080 'PWD\r\n' 20:54:40.340170 Received DATA (on stdin) 20:54:40.340181 > 30 bytes data, server => client 20:54:40.340200 '257 "/" is current directory\r\n' 20:54:40.340251 < 6 bytes data, client => server 20:54:40.340263 'EPSV\r\n' 20:54:40.342499 Received DATA (on stdin) 20:54:40.342513 > 38 bytes data, server => client 20:54:40.342523 '229 Entering Passive Mode (|||36983|)\n' 20:54:40.342793 < 8 bytes data, client => server 20:54:40.342806 'TYPE I\r\n' 20:54:40.342947 Received DATA (on stdin) 20:54:40.342972 > 33 bytes data, server => client 20:54:40.342984 '200 I modify TYPE as you wanted\r\n' 20:54:40.343073 < 21 bytes data, client => server 20:54:40.343087 'SIZE verifiedserver\r\n' 20:54:40.343207 Received DATA (on stdin) 20:54:40.343219 > 8 bytes data, server => client 20:54:40.343229 '213 18\r\n' 20:54:40.343276 < 21 bytes data, client => server 20:54:40.343289 'RETR verifiedserver\r\n' 20:54:40.343500 Received DATA (on stdin) 20:54:40.343513 > 29 bytes data, server => client 20:54:40.343534 '150 Binary junk (18 bytes).\r\n' 20:54:40.344067 Received DATA (on stdin) 20:54:40.344079 > 28 bytes data, server => client 20:54:40.344090 '226 File transfer complete\r\n' 20:54:40.390557 < 6 bytes data, client => server 20:54:40.390589 'QUIT\r\n' 20:54:40.390806 Received DATA (on stdin) 20:54:40.390816 > 18 bytes data, server => client 20:54:40.390825 '221 bye bye baby\r\n' 20:54:40.391087 ====> Client disconnect 20:54:40.391297 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.341885 Running IPv4 version 20:54:40.341950 Listening on port 36983 20:54:40.341986 Wrote pid 124051 to log/18/server/ftp_sockdata.pid 20:54:40.342006 Received PING (on stdin) 20:54:40.342086 Received PORT (on stdin) 20:54:40.342641 ====> Client connect 20:54:40.343562 Received DATA (on stdin) 20:54:40.343579 > 18 bytes data, server => client 20:54:40.343589 'WE ROOLZ: 111651\r\n' 20:54:40.343614 Received DISC (on stdin) 20:54:40.343629 ====> Client forcibly disconnected 20:54:40.343783 Received QUIT (on stdin) 20:54:40.343795 quits 20:54:40.343857 ============> 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 ==124289== ==124289== Process terminating with default action of signal 4 (SIGILL) ==124289== Illegal opcode at address 0x4003082 ==124289== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124289== by 0x4003082: main (tool_main.c:243) === End of file valgrind336 test 0341...[A non existing file with --etag-compare is just a blank] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind341 ../src/curl -q --output log/21/curl341.out --include --trace-ascii log/21/trace341 --trace-config all --trace-time http://127.0.0.1:36793/341 --etag-compare log/21/etag341 > log/21/stdout341 2> log/21/stderr341 341: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind341 ../src/curl -q --output log/21/curl341.out --include --trace-ascii log/21/trace341 --trace-config all --trace-time http://127.0.0.1:36793/341 --etag-compare log/21/etag341 > log/21/stdout341 2> log/21/stderr341 === End of file commands.log === Start of file http_server.log 20:54:40.446626 ====> Client connect 20:54:40.446649 accept_connection 3 returned 4 20:54:40.446662 accept_connection 3 returned 0 20:54:40.446672 Read 93 bytes 20:54:40.446680 Process 93 bytes request 20:54:40.446688 Got request: GET /verifiedserver HTTP/1.1 20:54:40.446696 Are-we-friendly question received 20:54:40.446712 Wrote request (93 bytes) input to log/21/server.input 20:54:40.446724 Identifying ourselves as friends 20:54:40.446762 Response sent (57 bytes) and written to log/21/server.response 20:54:40.446769 special request received, no persistency 20:54:40.446776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind341 ==124430== ==124430== Process terminating with default action of signal 4 (SIGILL) ==124430== Illegal opcode at address 0x4003082 ==124430== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124430== by 0x4003082: main (tool_main.c:243) === End of file valgrind341 test 0339...[Check if --etag-save saved correct etag to a file] ../libtool --mode=execute /usrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind342 ../src/curl -q --output log/23/curl342.out --include --trace-ascii log/23/trace342 --trace-config all --trace-time http://127.0.0.1:38539/342 --etag-compare log/23/etag342 > log/23/stdout342 2> log/23/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/20/valgrind338 ../src/curl -q --output log/20/curl338.out --include --trace-ascii log/20/trace338 --trace-config all --trace-time http://127.0.0.1:41293/338 --next http://127.0.0.1:41293/338 --anyauth -u foo:moo > log/20/stdout338 2> log/20/stderr338 /bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind339 ../src/curl -q --output log/8/curl339.out --include --trace-ascii log/8/trace339 --trace-config all --trace-time http://127.0.0.1:35791/339 --etag-save log/8/etag339 > log/8/stdout339 2> log/8/stderr339 339: 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 339 === Start of file commands.log ../libtool --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/valgrind339 ../src/curl -q --output log/8/curl339.out --include --trace-ascii log/8/trace339 --trace-config all --trace-time http://127.0.0.1:35791/339 --etag-save log/8/etag339 > log/8/stdout339 2> log/8/stderr339 === End of file commands.log === Start of file http_server.log 20:54:40.445914 ====> Client connect 20:54:40.445945 accept_connection 3 returned 4 20:54:40.445962 accept_connection 3 returned 0 20:54:40.445976 Read 93 bytes 20:54:40.445986 Process 93 bytes request 20:54:40.445998 Got request: GET /verifiedserver HTTP/1.1 20:54:40.446007 Are-we-friendly question received 20:54:40.446032 Wrote request (93 bytes) input to log/8/server.input 20:54:40.446049 Identifying ourselves as friends 20:54:40.446102 Response sent (57 bytes) and written to log/8/server.response 20:54:40.446112 special request received, no persistency 20:54:40.446121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind339 ==124432== ==124432== Process terminating with default action of signal 4 (SIGILL) ==124432== Illegal opcode at address 0x4003082 ==124432== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124432== by 0x4003082: main (tool_main.c:243) === End of file valgrind339 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/23/valgrind342 ../src/curl -q --output log/23/curl342.out --include --trace-ascii log/23/trace342 --trace-config all --trace-time http://127.0.0.1:38539/342 --etag-compare log/23/etag342 > log/23/stdout342 2> log/23/stderr342 342: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind342 ../src/curl -q --output log/23/curl342.out --include --trace-ascii log/23/trace342 --trace-config all --trace-time http://127.0.0.1:38539/342 --etag-compare log/23/etag342 > log/23/stdout342 2> log/23/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 20:54:40.448309 ====> Client connect 20:54:40.448360 accept_connection 3 returned 4 20:54:40.448378 accept_connection 3 returned 0 20:54:40.448391 Read 93 bytes 20:54:40.448400 Process 93 bytes request 20:54:40.448411 Got request: GET /verifiedserver HTTP/1.1 20:54:40.448420 Are-we-friendly question received 20:54:40.448443 Wrote request (93 bytes) input to log/23/server.input 20:54:40.448459 Identifying ourselves as friends 20:54:40.448509 Response sent (57 bytes) and written to log/23/server.response 20:54:40.448519 special request received, no persistency 20:54:40.448528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind342 ==124435== ==124435== Process terminating with default action of signal 4 (SIGILL) ==124435== Illegal opcode at address 0x4003082 ==124435== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124435== by 0x4003082: main (tool_main.c:243) === End of file valgrind342 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/20/valgrind338 ../src/curl -q --output log/20/curl338.out --include --trace-ascii log/20/trace338 --trace-config all --trace-time http://127.0.0.1:41293/338 --next http://127.0.0.1:41293/338 --anyauth -u foo:moo > log/20/stdout338 2> log/20/stderr338 338: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind338 ../src/curl -q --output log/20/curl338.out --include --trace-ascii log/20/trace338 --trace-config all --trace-time http://127.0.0.1:41293/338 --next http://127.0.0.1:41293/338 --anyauth -u foo:moo > log/20/stdout338 2> log/20/stderr338 === End of file commands.log === Start of file http_server.log 20:54:40.443723 ====> Client connect 20:54:40.443751 accept_connection 3 returned 4 20:54:40.443769 accept_connection 3 returned 0 20:54:40.443782 Read 93 bytes 20:54:40.443791 Process 93 bytes request 20:54:40.443803 Got request: GET /verifiedserver HTTP/1.1 20:54:40.443813 Are-we-friendly question received 20:54:40.443835 Wrote request (93 bytes) input to log/20/server.input 20:54:40.443850 Identifying ourselves as friends 20:54:40.443903 Response sent (57 bytes) and written to log/20/server.response 20:54:40.443914 special request received, no persistency 20:54:40.443923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind338 ==124431== ==124431== Process terminating with default actioCMD (33792): ../libtool --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/valgrind337 ../src/curl -q --output log/1/curl337.out --include --trace-ascii log/1/trace337 --trace-config all --trace-time ftp://127.0.0.1:33539/337 --range 3-6 > log/1/stdout337 2> log/1/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/5/valgrind340 ../src/curl -q --output log/5/curl340.out --include --trace-ascii log/5/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45115/%00first/second/third/340 > log/5/stdout340 2> log/5/stderr340 n of signal 4 (SIGILL) ==124431== Illegal opcode at address 0x4003082 ==124431== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124431== by 0x4003082: main (tool_main.c:243) === End of file valgrind338 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/1/valgrind337 ../src/curl -q --output log/1/curl337.out --include --trace-ascii log/1/trace337 --trace-config all --trace-time ftp://127.0.0.1:33539/337 --range 3-6 > log/1/stdout337 2> log/1/stderr337 337: 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 337 === Start of file commands.log ../libtool --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/valgrind337 ../src/curl -q --output log/1/curl337.out --include --trace-ascii log/1/trace337 --trace-config all --trace-time ftp://127.0.0.1:33539/337 --range 3-6 > log/1/stdout337 2> log/1/stderr337 === End of file commands.log === Start of file ftp_server.log 20:54:40.200214 ====> Client connect 20:54:40.200382 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.201697 < "USER anonymous" 20:54:40.201749 > "331 We are happy you popped in![CR][LF]" 20:54:40.201917 < "PASS ftp@example.com" 20:54:40.201947 > "230 Welcome you silly person[CR][LF]" 20:54:40.202117 < "PWD" 20:54:40.202148 > "257 "/" is current directory[CR][LF]" 20:54:40.202352 < "EPSV" 20:54:40.202379 ====> Passive DATA channel requested by client 20:54:40.202392 DATA sockfilt for passive data channel starting... 20:54:40.204200 DATA sockfilt for passive data channel started (pid 124328) 20:54:40.204325 DATA sockfilt for passive data channel listens on port 46867 20:54:40.204369 > "229 Entering Passive Mode (|||46867|)[LF]" 20:54:40.204387 Client has been notified that DATA conn will be accepted on port 46867 20:54:40.205995 Client connects to port 46867 20:54:40.206028 ====> Client established passive DATA connection on port 46867 20:54:40.206112 < "TYPE I" 20:54:40.206145 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.206401 < "SIZE verifiedserver" 20:54:40.206435 > "213 18[CR][LF]" 20:54:40.206575 < "RETR verifiedserver" 20:54:40.206610 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.206686 =====> Closing passive DATA connection... 20:54:40.206702 Server disconnects passive DATA connection 20:54:40.206937 Server disconnected passive DATA connection 20:54:40.206962 DATA sockfilt for passive data channel quits (pid 124328) 20:54:40.207665 DATA sockfilt for passive data channel quit (pid 124328) 20:54:40.207692 =====> Closed passive DATA connection 20:54:40.207721 > "226 File transfer complete[CR][LF]" 20:54:40.249636 < "QUIT" 20:54:40.249697 > "221 bye bye baby[CR][LF]" 20:54:40.249956 MAIN sockfilt said DISC 20:54:40.250010 ====> Client disconnected 20:54:40.250073 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.421574 ====> Client connect 20:54:40.422034 Received DATA (on stdin) 20:54:40.422057 > 160 bytes data, server => client 20:54:40.422070 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.422081 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.422091 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.422163 < 16 bytes data, client => server 20:54:40.422178 'USER anonymous\r\n' 20:54:40.423269 Received DATA (on stdin) 20:54:40.423282 > 33 bytes data, server => client 20:54:40.423293 '331 We are happy you popped in!\r\n' 20:54:40.423343 < 22 bytes data, client => server 20:54:40.423355 'PASS ftp@example.com\r\n' 20:54:40.423464 Received DATA (on stdin) 20:54:40.423477 > 30 bytes data, server => client 20:54:40.423487 '230 Welcome you silly person\r\n' 20:54:40.423548 < 5 bytes data, client => server 20:54:40.423559 'PWD\r\n' 20:54:40.423662 Received DATA (on stdin) 20:54:40.423674 > 30 bytes data, server => client 20:54:40.423725 '257 "/" is current directory\r\n' 20:54:40.423783 < 6 bytes data, client => server 20:54:40.423795 'EPSV\r\n' 20:54:40.425914 Received DATA (on stdin) 20:54:40.425931 > 38 bytes data, server => client 20:54:40.425943 '229 Entering Passive Mode (|||46867|)\n' 20:54:40.427207 < 8 bytes data, client => server 20:54:40.427228 'TYPE I\r\n' 20:54:40.427716 Received DATA (on stdin) 20:54:40.427734 > 33 bytes data, server => client 20:54:40.427746 '200 I modify TYPE as you wanted\r\n' 20:54:40.427828 < 21 bytes data, client => server 20:54:40.427842 'SIZE verifiedserver\r\n' 20:54:40.427948 Received DATA (on stdin) 20:54:40.427959 > 8 bytes data, server => client 20:54:40.427969 '213 18\r\n' 20:54:40.428013 < 21 bytes data, client => server 20:54:40.428024 'RETR verifiedserver\r\n' 20:54:40.428216 Received DATA (on stdin) 20:54:40.428228 > 29 bytes data, server => client 20:54:40.428239 '150 Binary junk (18 bytes).\r\n' 20:54:40.429238 Received DATA (on stdin) 20:54:40.429251 > 28 bytes data, server => client 20:54:40.429263 '226 File transfer complete\r\n' 20:54:40.470947 < 6 bytes data, client => server 20:54:40.470973 'QUIT\r\n' 20:54:40.471224 Received DATA (on stdin) 20:54:40.471244 > 18 bytes data, server => client 20:54:40.471255 '221 bye bye baby\r\n' 20:54:40.471403 ====> Client disconnect 20:54:40.471588 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.425544 Running IPv4 version 20:54:40.425599 Listening on port 46867 20:54:40.425633 Wrote pid 124328 to log/1/server/ftp_sockdata.pid 20:54:40.425651 Received PING (on stdin) 20:54:40.425747 Received PORT (on stdin) 20:54:40.427451 ====> Client connect 20:54:40.428287 Received DATA (on stdin) 20:54:40.428301 > 18 bytes data, server => client 20:54:40.428312 'WE ROOLZ: 110705\r\n' 20:54:40.428339 Received DISC (on stdin) 20:54:40.428350 ====> Client forcibly disconnected 20:54:40.428482 Received QUIT (on stdin) 20:54:40.428493 quits 20:54:40.429036 ============> 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 ==124546== ==124546== Process terminating with default action of signal 4 (SIGILL) ==124546== Illegal opcode at address 0x4003082 ==124546== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124546== by 0x4003082: main (tool_main.c:243) === End of file valgrind337 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/5/valgrind340 ../src/curl -q --output log/5/curl340.out --include --trace-ascii log/5/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45115/%00first/second/third/340 > log/5/stdout340 2> log/5/stderr340 340: 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 340 === Start of file commands.log ../libtool --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/valgrind340 ../src/curl -q --output log/5/curl340.out --include --trace-ascii log/5/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45115/%00first/second/third/340 > log/5/stdout340 2> log/5/stderr340 === End of file commands.log === Start of file ftp_server.log 20:54:40.225744 ====> Client connect 20:54:40.225890 > "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/valgrind343 ../src/curl -q --output log/11/curl343.out --include --trace-ascii log/11/trace343 --trace-config all --trace-time http://127.0.0.1:44265/343 --etag-compare log/11/etag343 --etag-save log/11/out343 > log/11/stdout343 2> log/11/stderr343 ___ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.226105 < "USER anonymous" 20:54:40.226140 > "331 We are happy you popped in![CR][LF]" 20:54:40.226266 < "PASS ftp@example.com" 20:54:40.226290 > "230 Welcome you silly person[CR][LF]" 20:54:40.226441 < "PWD" 20:54:40.226468 > "257 "/" is current directory[CR][LF]" 20:54:40.226614 < "EPSV" 20:54:40.226636 ====> Passive DATA channel requested by client 20:54:40.226649 DATA sockfilt for passive data channel starting... 20:54:40.228137 DATA sockfilt for passive data channel started (pid 124426) 20:54:40.228236 DATA sockfilt for passive data channel listens on port 33173 20:54:40.228274 > "229 Entering Passive Mode (|||33173|)[LF]" 20:54:40.228292 Client has been notified that DATA conn will be accepted on port 33173 20:54:40.228766 Client connects to port 33173 20:54:40.228796 ====> Client established passive DATA connection on port 33173 20:54:40.228852 < "TYPE I" 20:54:40.228876 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.229102 < "SIZE verifiedserver" 20:54:40.229161 > "213 18[CR][LF]" 20:54:40.229370 < "RETR verifiedserver" 20:54:40.229411 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.229490 =====> Closing passive DATA connection... 20:54:40.229506 Server disconnects passive DATA connection 20:54:40.229721 Server disconnected passive DATA connection 20:54:40.229746 DATA sockfilt for passive data channel quits (pid 124426) 20:54:40.229956 DATA sockfilt for passive data channel quit (pid 124426) 20:54:40.229979 =====> Closed passive DATA connection 20:54:40.230004 > "226 File transfer complete[CR][LF]" 20:54:40.275839 < "QUIT" 20:54:40.275898 > "221 bye bye baby[CR][LF]" 20:54:40.276230 MAIN sockfilt said DISC 20:54:40.276258 ====> Client disconnected 20:54:40.276333 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.447163 ====> Client connect 20:54:40.447413 Received DATA (on stdin) 20:54:40.447427 > 160 bytes data, server => client 20:54:40.447437 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.447447 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.447456 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.447512 < 16 bytes data, client => server 20:54:40.447527 'USER anonymous\r\n' 20:54:40.447656 Received DATA (on stdin) 20:54:40.447667 > 33 bytes data, server => client 20:54:40.447678 '331 We are happy you popped in!\r\n' 20:54:40.447719 < 22 bytes data, client => server 20:54:40.447732 'PASS ftp@example.com\r\n' 20:54:40.447801 Received DATA (on stdin) 20:54:40.447813 > 30 bytes data, server => client 20:54:40.447823 '230 Welcome you silly person\r\n' 20:54:40.447870 < 5 bytes data, client => server 20:54:40.447881 'PWD\r\n' 20:54:40.447979 Received DATA (on stdin) 20:54:40.447990 > 30 bytes data, server => client 20:54:40.448000 '257 "/" is current directory\r\n' 20:54:40.448052 < 6 bytes data, client => server 20:54:40.448063 'EPSV\r\n' 20:54:40.449808 Received DATA (on stdin) 20:54:40.449821 > 38 bytes data, server => client 20:54:40.449832 '229 Entering Passive Mode (|||33173|)\n' 20:54:40.449933 < 8 bytes data, client => server 20:54:40.449944 'TYPE I\r\n' 20:54:40.450397 Received DATA (on stdin) 20:54:40.450409 > 33 bytes data, server => client 20:54:40.450419 '200 I modify TYPE as you wanted\r\n' 20:54:40.450475 < 21 bytes data, client => server 20:54:40.450493 'SIZE verifiedserver\r\n' 20:54:40.450686 Received DATA (on stdin) 20:54:40.450707 > 8 bytes data, server => client 20:54:40.450719 '213 18\r\n' 20:54:40.450780 < 21 bytes data, client => server 20:54:40.450797 'RETR verifiedserver\r\n' 20:54:40.451021 Received DATA (on stdin) 20:54:40.451034 > 29 bytes data, server => client 20:54:40.451045 '150 Binary junk (18 bytes).\r\n' 20:54:40.451519 Received DATA (on stdin) 20:54:40.451532 > 28 bytes data, server => client 20:54:40.451543 '226 File transfer complete\r\n' 20:54:40.497138 < 6 bytes data, client => server 20:54:40.497174 'QUIT\r\n' 20:54:40.497402 Received DATA (on stdin) 20:54:40.497431 > 18 bytes data, server => client 20:54:40.497445 '221 bye bye baby\r\n' 20:54:40.497691 ====> Client disconnect 20:54:40.497845 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.449493 Running IPv4 version 20:54:40.449544 Listening on port 33173 20:54:40.449577 Wrote pid 124426 to log/5/server/ftp_sockdata.pid 20:54:40.449594 Received PING (on stdin) 20:54:40.449674 Received PORT (on stdin) 20:54:40.449937 ====> Client connect 20:54:40.451072 Received DATA (on stdin) 20:54:40.451085 > 18 bytes data, server => client 20:54:40.451097 'WE ROOLZ: 110701\r\n' 20:54:40.451119 Received DISC (on stdin) 20:54:40.451131 ====> Client forcibly disconnected 20:54:40.451267 Received QUIT (on stdin) 20:54:40.451279 quits 20:54:40.451329 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==124661== ==124661== Process terminating with default action of signal 4 (SIGILL) ==124661== Illegal opcode at address 0x4003082 ==124661== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124661== by 0x4003082: main (tool_main.c:243) === End of file valgrind340 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/11/valgrind343 ../src/curl -q --output log/11/curl343.out --include --trace-ascii log/11/trace343 --trace-config all --trace-time http://127.0.0.1:44265/343 --etag-compare log/11/etag343 --etag-save log/11/out343 > log/11/stdout343 2> log/11/stderr343 343: 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 343 === Start of file commands.log ../libtool --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/valgrind343 ../src/curl -q --output log/11/curl343.out --include --trace-ascii log/11/trace343 --trace-config all --trace-time http://127.0.0.1:44265/343 --etag-compare log/11/etag343 --etag-save log/11/out343 > log/11/stdout343 2> log/11/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 20:54:40.731560 ====> Client connect 20:54:40.731592 accept_connection 3 returned 4 20:54:40.731608 accept_connection 3 returned 0 20:54:40.731621 Read 93 bytes 20:54:40.731630 Process 93 bytes request 20:54:40.731643 Got request: GET /verifiedserver HTTP/1.1 20:54:40.731652 Are-we-friendly question received 20:54:40.731675 Wrote request (93 bytes) input to log/11/server.input 20:54:40.731690 Identifying ourselves as friends 20:54:40.731735 Response sent (57 bytes) and written to log/11/server.response 20:54:40.731744 special request received, no persistency 20:54:40.731752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind343 ==124755== ==124755== Process terminating with 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/15/valgrind346 ../src/curl -q --output log/15/curl346.out --include --trace-ascii log/15/trace346 --trace-config all --trace-time -x http://127.0.0.1:39051/346 -U puser: -u suser: http://remote.example/346 > log/15/stdout346 2> log/15/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/17/valgrind345 ../src/curl -q --output log/17/curl345.out --include --trace-ascii log/17/trace345 --trace-config all --trace-time http://127.0.0.1:35207/345 --etag-compare log/17/etag345 --etag-save log/17/etag345 > log/17/stdout345 2> log/17/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/6/valgrind352 ../src/curl -q --output log/6/curl352.out --include --trace-ascii log/6/trace352 --trace-config all --trace-time ftp://127.0.0.1:37857// --ftp-method singlecwd > log/6/stdout352 2> log/6/stderr352 efault action of signal 4 (SIGILL) ==124755== Illegal opcode at address 0x4003082 ==124755== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124755== by 0x4003082: main (tool_main.c:243) === End of file valgrind343 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/15/valgrind346 ../src/curl -q --output log/15/curl346.out --include --trace-ascii log/15/trace346 --trace-config all --trace-time -x http://127.0.0.1:39051/346 -U puser: -u suser: http://remote.example/346 > log/15/stdout346 2> log/15/stderr346 346: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind346 ../src/curl -q --output log/15/curl346.out --include --trace-ascii log/15/trace346 --trace-config all --trace-time -x http://127.0.0.1:39051/346 -U puser: -u suser: http://remote.example/346 > log/15/stdout346 2> log/15/stderr346 === End of file commands.log === Start of file http_server.log 20:54:40.794118 ====> Client connect 20:54:40.794148 accept_connection 3 returned 4 20:54:40.794164 accept_connection 3 returned 0 20:54:40.794177 Read 93 bytes 20:54:40.794186 Process 93 bytes request 20:54:40.794198 Got request: GET /verifiedserver HTTP/1.1 20:54:40.794207 Are-we-friendly question received 20:54:40.794230 Wrote request (93 bytes) input to log/15/server.input 20:54:40.794246 Identifying ourselves as friends 20:54:40.794294 Response sent (57 bytes) and written to log/15/server.response 20:54:40.794304 special request received, no persistency 20:54:40.794312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind346 ==124878== ==124878== Process terminating with default action of signal 4 (SIGILL) ==124878== Illegal opcode at address 0x4003082 ==124878== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124878== by 0x4003082: main (tool_main.c:243) === End of file valgrind346 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/17/valgrind345 ../src/curl -q --output log/17/curl345.out --include --trace-ascii log/17/trace345 --trace-config all --trace-time http://127.0.0.1:35207/345 --etag-compare log/17/etag345 --etag-save log/17/etag345 > log/17/stdout345 2> log/17/stderr345 345: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind345 ../src/curl -q --output log/17/curl345.out --include --trace-ascii log/17/trace345 --trace-config all --trace-time http://127.0.0.1:35207/345 --etag-compare log/17/etag345 --etag-save log/17/etag345 > log/17/stdout345 2> log/17/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 20:54:40.795457 ====> Client connect 20:54:40.795486 accept_connection 3 returned 4 20:54:40.795507 accept_connection 3 returned 0 20:54:40.795525 Read 93 bytes 20:54:40.795534 Process 93 bytes request 20:54:40.795543 Got request: GET /verifiedserver HTTP/1.1 20:54:40.795551 Are-we-friendly question received 20:54:40.795573 Wrote request (93 bytes) input to log/17/server.input 20:54:40.795586 Identifying ourselves as friends 20:54:40.795761 Response sent (57 bytes) and written to log/17/server.response 20:54:40.795772 special request received, no persistency 20:54:40.795780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind345 ==124876== ==124876== Process terminating with default action of signal 4 (SIGILL) ==124876== Illegal opcode at address 0x4003082 ==124876== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124876== by 0x4003082: main (tool_main.c:243) === 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/6/valgrind352 ../src/curl -q --output log/6/curl352.out --include --trace-ascii log/6/trace352 --trace-config all --trace-time ftp://127.0.0.1:37857// --ftp-method singlecwd > log/6/stdout352 2> log/6/stderr352 352: 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 352 === Start of file commands.log ../libtool --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/valgrind352 ../src/curl -q --output log/6/curl352.out --include --trace-ascii log/6/trace352 --trace-config all --trace-time ftp://127.0.0.1:37857// --ftp-method singlecwd > log/6/stdout352 2> log/6/stderr352 === End of file commands.log === Start of file ftp_server.log 20:54:40.616429 ====> Client connect 20:54:40.616546 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.616770 < "USER anonymous" 20:54:40.616805 > "331 We are happy you popped in![CR][LF]" 20:54:40.616953 < "PASS ftp@example.com" 20:54:40.616977 > "230 Welcome you silly person[CR][LF]" 20:54:40.617108 < "PWD" 20:54:40.617142 > "257 "/" is current directory[CR][LF]" 20:54:40.617328 < "EPSV" 20:54:40.617352 ====> Passive DATA channel requested by client 20:54:40.617365 DATA sockfilt for passive data channel starting... 20:54:40.619217 DATA sockfilt for passive data channel started (pid 125109) 20:54:40.619363 DATA sockfilt for passive data channel listens on port 39531 20:54:40.619420 > "229 Entering Passive Mode (|||39531|)[LF]" 20:54:40.619440 Client has been notified that DATA conn will be accepted on port 39531 20:54:40.619804 Client connects to port 39531 20:54:40.619851 ====> Client establisCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind354 ../src/curl -q --output log/16/curl354.out --include --trace-ascii log/16/trace354 --trace-config all --trace-time ftp://127.0.0.1:35865/354 > log/16/stdout354 2> log/16/stderr354 hed passive DATA connection on port 39531 20:54:40.619917 < "TYPE I" 20:54:40.619941 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.620139 < "SIZE verifiedserver" 20:54:40.620176 > "213 18[CR][LF]" 20:54:40.620372 < "RETR verifiedserver" 20:54:40.620412 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.620492 =====> Closing passive DATA connection... 20:54:40.620510 Server disconnects passive DATA connection 20:54:40.620596 Server disconnected passive DATA connection 20:54:40.620625 DATA sockfilt for passive data channel quits (pid 125109) 20:54:40.620866 DATA sockfilt for passive data channel quit (pid 125109) 20:54:40.620887 =====> Closed passive DATA connection 20:54:40.620913 > "226 File transfer complete[CR][LF]" 20:54:40.663732 < "QUIT" 20:54:40.663785 > "221 bye bye baby[CR][LF]" 20:54:40.664805 MAIN sockfilt said DISC 20:54:40.664832 ====> Client disconnected 20:54:40.664901 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.837855 ====> Client connect 20:54:40.838066 Received DATA (on stdin) 20:54:40.838079 > 160 bytes data, server => client 20:54:40.838090 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.838100 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.838110 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.838165 < 16 bytes data, client => server 20:54:40.838176 'USER anonymous\r\n' 20:54:40.838319 Received DATA (on stdin) 20:54:40.838330 > 33 bytes data, server => client 20:54:40.838340 '331 We are happy you popped in!\r\n' 20:54:40.838383 < 22 bytes data, client => server 20:54:40.838393 'PASS ftp@example.com\r\n' 20:54:40.838488 Received DATA (on stdin) 20:54:40.838498 > 30 bytes data, server => client 20:54:40.838507 '230 Welcome you silly person\r\n' 20:54:40.838545 < 5 bytes data, client => server 20:54:40.838555 'PWD\r\n' 20:54:40.838656 Received DATA (on stdin) 20:54:40.838668 > 30 bytes data, server => client 20:54:40.838680 '257 "/" is current directory\r\n' 20:54:40.838739 < 6 bytes data, client => server 20:54:40.838756 'EPSV\r\n' 20:54:40.841092 Received DATA (on stdin) 20:54:40.841114 > 38 bytes data, server => client 20:54:40.841125 '229 Entering Passive Mode (|||39531|)\n' 20:54:40.841265 < 8 bytes data, client => server 20:54:40.841276 'TYPE I\r\n' 20:54:40.841449 Received DATA (on stdin) 20:54:40.841459 > 33 bytes data, server => client 20:54:40.841467 '200 I modify TYPE as you wanted\r\n' 20:54:40.841543 < 21 bytes data, client => server 20:54:40.841563 'SIZE verifiedserver\r\n' 20:54:40.841688 Received DATA (on stdin) 20:54:40.841699 > 8 bytes data, server => client 20:54:40.841711 '213 18\r\n' 20:54:40.841807 < 21 bytes data, client => server 20:54:40.841829 'RETR verifiedserver\r\n' 20:54:40.841938 Received DATA (on stdin) 20:54:40.841952 > 29 bytes data, server => client 20:54:40.841963 '150 Binary junk (18 bytes).\r\n' 20:54:40.842427 Received DATA (on stdin) 20:54:40.842440 > 28 bytes data, server => client 20:54:40.842449 '226 File transfer complete\r\n' 20:54:40.885072 < 6 bytes data, client => server 20:54:40.885098 'QUIT\r\n' 20:54:40.885303 Received DATA (on stdin) 20:54:40.885315 > 18 bytes data, server => client 20:54:40.885325 '221 bye bye baby\r\n' 20:54:40.886270 ====> Client disconnect 20:54:40.886415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.840553 Running IPv4 version 20:54:40.840611 Listening on port 39531 20:54:40.840654 Wrote pid 125109 to log/6/server/ftp_sockdata.pid 20:54:40.840673 Received PING (on stdin) 20:54:40.840763 Received PORT (on stdin) 20:54:40.841238 ====> Client connect 20:54:40.841957 Received DATA (on stdin) 20:54:40.841977 > 18 bytes data, server => client 20:54:40.841988 'WE ROOLZ: 111185\r\n' 20:54:40.842026 Received DISC (on stdin) 20:54:40.842042 ====> Client forcibly disconnected 20:54:40.842152 Received QUIT (on stdin) 20:54:40.842168 quits 20:54:40.842224 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==125346== ==125346== Process terminating with default action of signal 4 (SIGILL) ==125346== Illegal opcode at address 0x4003082 ==125346== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125346== by 0x4003082: main (tool_main.c:243) === End of file valgrind352 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/16/valgrind354 ../src/curl -q --output log/16/curl354.out --include --trace-ascii log/16/trace354 --trace-config all --trace-time ftp://127.0.0.1:35865/354 > log/16/stdout354 2> log/16/stderr354 354: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind354 ../src/curl -q --output log/16/curl354.out --include --trace-ascii log/16/trace354 --trace-config all --trace-time ftp://127.0.0.1:35865/354 > log/16/stdout354 2> log/16/stderr354 === End of file commands.log === Start of file ftp_server.log 20:54:40.624628 ====> Client connect 20:54:40.624753 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.624966 < "USER anonymous" 20:54:40.625001 > "331 We are happy you popped in![CR][LF]" 20:54:40.625114 < "PASS ftp@example.com" 20:54:40.625134 > "230 Welcome you silly person[CR][LF]" 20:54:40.625393 < "PWD" 20:54:40.625426 > "257 "/" is current directory[CR][LF]" 20:54:40.625613 < "EPSV" 20:54:40.625638 ====> Passive DATA channel requested by client 20:54:40.625674 DATA sockfilt for passive data channel starting... 20:54:40.627552 DATA sockfilt for passive data channel started (pid 125166) 20:54:40.627653 DATA sockfilt for passive data channel listens on port 41469 20:54:40.627687 > "229 Entering Passive Mode (|||41469|)[LF]" 20:54:40.627700 Client has been notified that DATA conn will be accepted on port 41469 20:54:40.627904 Client connects to port 41469 20:54:40.627931 ====> Client established passive DATA connection on port 41469 20:54:40.627989 < "TYPE I" 20:54:40.628015 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.628147 < "SIZE verifiedserver" 20:54:40.628178 > "213 18[CR][LF]" 20:54:40.628297 < "RETR verifiedserver" 20:54:40.628328 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.628390 =====> Closing passive DATA connection... 20:54:40.628404 Server disconnects passive DATA connection 20:54:40.628512 Server disconnected passive DATA connection 20:54:40.628533 DATA sockfilt for passive data channel quits (pid 125166) 20:54:40.628740 DATA sockfilt for passive data channel quit (pid 125166) 20:54:40.628761 =====> Closed passive DATA connection 20:54:40.628787 > "226 File transfer complete[CR][LF]" 20:54:40.672525 < "QUIT" 20:54:40.672576 > "221 bye bye baby[CR][LF]" 20:54:40.673428 MAIN sockfilt said DISC 20:54:40.673471 ====> Client disconnected 20:54:40.673538 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.846056 ====> Client connect 20:54:40.846274 Received DATA (on stdin) 20:54:40.846287 > 160 bytes data, server => client 20:54:40.846298 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.846308 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.846317 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.846377 < 16 bytes data, client => server 20:54:40.846430 'USER anonymous\r\n' 20:54:40.846503 Received DATA (on stdin) 20:54:40.846518 > 33 bytes data, server => client 20:54:40.846CMD (33792): ../libtool --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/valgrind344 ../src/curl -q --output log/9/curl344.out --include --trace-ascii log/9/trace344 --trace-config all --trace-time http://127.0.0.1:46863/344 --etag-compare log/9/etag344 --etag-save log/9/etag344 > log/9/stdout344 2> log/9/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/3/valgrind360 ../src/curl -q --output log/3/curl360.out --include --trace-ascii log/3/trace360 --trace-config all --trace-time http://127.0.0.1:33171/360 --fail-with-body --fail > log/3/stdout360 2> log/3/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/24/valgrind347 ../src/curl -q --output log/24/curl347.out --include --trace-ascii log/24/trace347 --trace-config all --trace-time http://127.0.0.1:45957/347 --etag-save log/24/etag347 > log/24/stdout347 2> log/24/stderr347 527 '331 We are happy you popped in!\r\n' 20:54:40.846568 < 22 bytes data, client => server 20:54:40.846580 'PASS ftp@example.com\r\n' 20:54:40.846643 Received DATA (on stdin) 20:54:40.846661 > 30 bytes data, server => client 20:54:40.846673 '230 Welcome you silly person\r\n' 20:54:40.846722 < 5 bytes data, client => server 20:54:40.846734 'PWD\r\n' 20:54:40.846935 Received DATA (on stdin) 20:54:40.846954 > 30 bytes data, server => client 20:54:40.846965 '257 "/" is current directory\r\n' 20:54:40.847036 < 6 bytes data, client => server 20:54:40.847047 'EPSV\r\n' 20:54:40.849219 Received DATA (on stdin) 20:54:40.849239 > 38 bytes data, server => client 20:54:40.849251 '229 Entering Passive Mode (|||41469|)\n' 20:54:40.849386 < 8 bytes data, client => server 20:54:40.849398 'TYPE I\r\n' 20:54:40.849528 Received DATA (on stdin) 20:54:40.849540 > 33 bytes data, server => client 20:54:40.849551 '200 I modify TYPE as you wanted\r\n' 20:54:40.849601 < 21 bytes data, client => server 20:54:40.849616 'SIZE verifiedserver\r\n' 20:54:40.849690 Received DATA (on stdin) 20:54:40.849701 > 8 bytes data, server => client 20:54:40.849712 '213 18\r\n' 20:54:40.849754 < 21 bytes data, client => server 20:54:40.849765 'RETR verifiedserver\r\n' 20:54:40.849920 Received DATA (on stdin) 20:54:40.849932 > 29 bytes data, server => client 20:54:40.849942 '150 Binary junk (18 bytes).\r\n' 20:54:40.850301 Received DATA (on stdin) 20:54:40.850313 > 28 bytes data, server => client 20:54:40.850323 '226 File transfer complete\r\n' 20:54:40.893877 < 6 bytes data, client => server 20:54:40.893902 'QUIT\r\n' 20:54:40.894092 Received DATA (on stdin) 20:54:40.894103 > 18 bytes data, server => client 20:54:40.894112 '221 bye bye baby\r\n' 20:54:40.894874 ====> Client disconnect 20:54:40.895053 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.848888 Running IPv4 version 20:54:40.848942 Listening on port 41469 20:54:40.848980 Wrote pid 125166 to log/16/server/ftp_sockdata.pid 20:54:40.848999 Received PING (on stdin) 20:54:40.849094 Received PORT (on stdin) 20:54:40.849358 ====> Client connect 20:54:40.849848 Received DATA (on stdin) 20:54:40.849860 > 18 bytes data, server => client 20:54:40.849869 'WE ROOLZ: 110697\r\n' 20:54:40.849965 Received DISC (on stdin) 20:54:40.849979 ====> Client forcibly disconnected 20:54:40.850057 Received QUIT (on stdin) 20:54:40.850078 quits 20:54:40.850128 ============> 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 ==125402== ==125402== Process terminating with default action of signal 4 (SIGILL) ==125402== Illegal opcode at address 0x4003082 ==125402== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125402== by 0x4003082: main (tool_main.c:243) === End of file valgrind354 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/9/valgrind344 ../src/curl -q --output log/9/curl344.out --include --trace-ascii log/9/trace344 --trace-config all --trace-time http://127.0.0.1:46863/344 --etag-compare log/9/etag344 --etag-save log/9/etag344 > log/9/stdout344 2> log/9/stderr344 344: 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 344 === Start of file commands.log ../libtool --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/valgrind344 ../src/curl -q --output log/9/curl344.out --include --trace-ascii log/9/trace344 --trace-config all --trace-time http://127.0.0.1:46863/344 --etag-compare log/9/etag344 --etag-save log/9/etag344 > log/9/stdout344 2> log/9/stderr344 === End of file commands.log === Start of file http_server.log 20:54:40.792540 ====> Client connect 20:54:40.792575 accept_connection 3 returned 4 20:54:40.792593 accept_connection 3 returned 0 20:54:40.792608 Read 93 bytes 20:54:40.792618 Process 93 bytes request 20:54:40.792632 Got request: GET /verifiedserver HTTP/1.1 20:54:40.792642 Are-we-friendly question received 20:54:40.792666 Wrote request (93 bytes) input to log/9/server.input 20:54:40.792682 Identifying ourselves as friends 20:54:40.792743 Response sent (57 bytes) and written to log/9/server.response 20:54:40.792753 special request received, no persistency 20:54:40.792762 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind344 ==124873== ==124873== Process terminating with default action of signal 4 (SIGILL) ==124873== Illegal opcode at address 0x4003082 ==124873== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==124873== by 0x4003082: main (tool_main.c:243) === End of file valgrind344 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/3/valgrind360 ../src/curl -q --output log/3/curl360.out --include --trace-ascii log/3/trace360 --trace-config all --trace-time http://127.0.0.1:33171/360 --fail-with-body --fail > log/3/stdout360 2> log/3/stderr360 curl returned 132, when expecting 2 360: exit FAILED == Contents of files in the log/3/ dir after test 360 === Start of file commands.log ../libtool --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/valgrind360 ../src/curl -q --output log/3/curl360.out --include --trace-ascii log/3/trace360 --trace-config all --trace-time http://127.0.0.1:33171/360 --fail-with-body --fail > log/3/stdout360 2> log/3/stderr360 === End of file commands.log === Start of file http_server.log 20:54:40.914673 ====> Client connect 20:54:40.914708 accept_connection 3 returned 4 20:54:40.914726 accept_connection 3 returned 0 20:54:40.914740 Read 93 bytes 20:54:40.914750 Process 93 bytes request 20:54:40.914762 Got request: GET /verifiedserver HTTP/1.1 20:54:40.914771 Are-we-friendly question received 20:54:40.914795 Wrote request (93 bytes) input to log/3/server.input 20:54:40.914809 Identifying ourselves as friends 20:54:40.914865 Response sent (57 bytes) and written to log/3/server.response 20:54:40.914874 special request received, no persistency 20:54:40.914883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === 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/12/valgrind349 ../src/curl -q --output log/12/curl349.out --include --trace-ascii log/12/trace349 --trace-config all --trace-time http://127.0.0.1:33337/349 --fail-with-body > log/12/stdout349 2> log/12/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/10/valgrind355 ../src/curl -q --output log/10/curl355.out --include --trace-ascii log/10/trace355 --trace-config all --trace-time http://127.0.0.1:43831/355 --alt-svc "" > log/10/stdout355 2> log/10/stderr355 e server.response === Start of file valgrind360 ==125549== ==125549== Process terminating with default action of signal 4 (SIGILL) ==125549== Illegal opcode at address 0x4003082 ==125549== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125549== by 0x4003082: main (tool_main.c:243) === End of file valgrind360 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/24/valgrind347 ../src/curl -q --output log/24/curl347.out --include --trace-ascii log/24/trace347 --trace-config all --trace-time http://127.0.0.1:45957/347 --etag-save log/24/etag347 > log/24/stdout347 2> log/24/stderr347 347: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind347 ../src/curl -q --output log/24/curl347.out --include --trace-ascii log/24/trace347 --trace-config all --trace-time http://127.0.0.1:45957/347 --etag-save log/24/etag347 > log/24/stdout347 2> log/24/stderr347 === End of file commands.log === Start of file http_server.log 20:54:40.811917 ====> Client connect 20:54:40.811947 accept_connection 3 returned 4 20:54:40.811964 accept_connection 3 returned 0 20:54:40.811978 Read 93 bytes 20:54:40.811987 Process 93 bytes request 20:54:40.812000 Got request: GET /verifiedserver HTTP/1.1 20:54:40.812009 Are-we-friendly question received 20:54:40.812033 Wrote request (93 bytes) input to log/24/server.input 20:54:40.812049 Identifying ourselves as friends 20:54:40.812102 Response sent (57 bytes) and written to log/24/server.response 20:54:40.812111 special request received, no persistency 20:54:40.812120 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind347 ==125013== ==125013== Process terminating with default action of signal 4 (SIGILL) ==125013== Illegal opcode at address 0x4003082 ==125013== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125013== by 0x4003082: main (tool_main.c:243) === 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/12/valgrind349 ../src/curl -q --output log/12/curl349.out --include --trace-ascii log/12/trace349 --trace-config all --trace-time http://127.0.0.1:33337/349 --fail-with-body > log/12/stdout349 2> log/12/stderr349 349: 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 349 === Start of file commands.log ../libtool --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/valgrind349 ../src/curl -q --output log/12/curl349.out --include --trace-ascii log/12/trace349 --trace-config all --trace-time http://127.0.0.1:33337/349 --fail-with-body > log/12/stdout349 2> log/12/stderr349 === End of file commands.log === Start of file http_server.log 20:54:40.827359 ====> Client connect 20:54:40.827385 accept_connection 3 returned 4 20:54:40.827402 accept_connection 3 returned 0 20:54:40.827479 Read 93 bytes 20:54:40.827492 Process 93 bytes request 20:54:40.827505 Got request: GET /verifiedserver HTTP/1.1 20:54:40.827515 Are-we-friendly question received 20:54:40.827538 Wrote request (93 bytes) input to log/12/server.input 20:54:40.827554 Identifying ourselves as friends 20:54:40.827606 Response sent (57 bytes) and written to log/12/server.response 20:54:40.827615 special request received, no persistency 20:54:40.827625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind349 ==125110== ==125110== Process terminating with default action of signal 4 (SIGILL) ==125110== Illegal opcode at address 0x4003082 ==125110== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125110== by 0x4003082: main (tool_main.c:243) === End of file valgrind349 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/10/valgrind355 ../src/curl -q --output log/10/curl355.out --include --trace-ascii log/10/trace355 --trace-config all --trace-time http://127.0.0.1:43831/355 --alt-svc "" > log/10/stdout355 2> log/10/stderr355 355: 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 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 43831 "20290222 22:19:28" 0 0 === End of file altsvc-355 === Start of file commands.log ../libtool --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/valgrind355 ../src/curl -q --output log/10/curl355.out --include --trace-ascii log/10/trace355 --trace-config all --trace-time http://127.0.0.1:43831/355 --alt-svc "" > log/10/stdout355 2> log/10/stderr355 === End of file commands.log === Start of file http_server.log 20:54:40.844306 ====> Client connect 20:54:40.844338 accept_connection 3 returned 4 20:54:40.844354 accept_connection 3 returned 0 20:54:40.844367 Read 93 bytes 20:54:40.844376 Process 93 bytes request 20:54:40.844388 Got request: GET /verifiedserver HTTP/1.1 20:54:40.844397 Are-we-friendly question received 20:54:40.844418 Wrote request (93 bytes) input to log/10/server.input 20:54:40.844433 Identifying ourselves as friends 20:54:40.844488 Response sent (57 bytes) and written to log/10/server.response 20:54:40.844498 special request received, no persistency 20:54:40.844506 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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 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/7/valgrind353 ../src/curl -q --output log/7/curl353.out --include --trace-ascii log/7/trace353 --trace-config all --trace-time ftp://127.0.0.1:40643/ --ftp-method singlecwd > log/7/stdout353 2> log/7/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/14/valgrind348 ../src/curl -q --output log/14/curl348.out --include --trace-ascii log/14/trace348 --trace-config all --trace-time ftp://127.0.0.1:36539/348 -T log/14/test348.txt > log/14/stdout348 2> log/14/stderr348 Z: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind355 ==125201== ==125201== Process terminating with default action of signal 4 (SIGILL) ==125201== Illegal opcode at address 0x4003082 ==125201== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125201== by 0x4003082: main (tool_main.c:243) === 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/7/valgrind353 ../src/curl -q --output log/7/curl353.out --include --trace-ascii log/7/trace353 --trace-config all --trace-time ftp://127.0.0.1:40643/ --ftp-method singlecwd > log/7/stdout353 2> log/7/stderr353 353: 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 353 === Start of file commands.log ../libtool --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/valgrind353 ../src/curl -q --output log/7/curl353.out --include --trace-ascii log/7/trace353 --trace-config all --trace-time ftp://127.0.0.1:40643/ --ftp-method singlecwd > log/7/stdout353 2> log/7/stderr353 === End of file commands.log === Start of file ftp_server.log 20:54:40.617440 ====> Client connect 20:54:40.617589 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.617862 < "USER anonymous" 20:54:40.617910 > "331 We are happy you popped in![CR][LF]" 20:54:40.618077 < "PASS ftp@example.com" 20:54:40.618101 > "230 Welcome you silly person[CR][LF]" 20:54:40.618224 < "PWD" 20:54:40.618252 > "257 "/" is current directory[CR][LF]" 20:54:40.618471 < "EPSV" 20:54:40.618502 ====> Passive DATA channel requested by client 20:54:40.618514 DATA sockfilt for passive data channel starting... 20:54:40.620225 DATA sockfilt for passive data channel started (pid 125119) 20:54:40.620343 DATA sockfilt for passive data channel listens on port 34795 20:54:40.620392 > "229 Entering Passive Mode (|||34795|)[LF]" 20:54:40.620409 Client has been notified that DATA conn will be accepted on port 34795 20:54:40.620576 Client connects to port 34795 20:54:40.620606 ====> Client established passive DATA connection on port 34795 20:54:40.620674 < "TYPE I" 20:54:40.620704 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.620865 < "SIZE verifiedserver" 20:54:40.620900 > "213 18[CR][LF]" 20:54:40.621036 < "RETR verifiedserver" 20:54:40.621068 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.621140 =====> Closing passive DATA connection... 20:54:40.621155 Server disconnects passive DATA connection 20:54:40.621313 Server disconnected passive DATA connection 20:54:40.621336 DATA sockfilt for passive data channel quits (pid 125119) 20:54:40.621554 DATA sockfilt for passive data channel quit (pid 125119) 20:54:40.621579 =====> Closed passive DATA connection 20:54:40.621607 > "226 File transfer complete[CR][LF]" 20:54:40.662604 < "QUIT" 20:54:40.662702 > "221 bye bye baby[CR][LF]" 20:54:40.663464 MAIN sockfilt said DISC 20:54:40.663494 ====> Client disconnected 20:54:40.663566 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.838855 ====> Client connect 20:54:40.839116 Received DATA (on stdin) 20:54:40.839131 > 160 bytes data, server => client 20:54:40.839143 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.839154 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.839164 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.839226 < 16 bytes data, client => server 20:54:40.839239 'USER anonymous\r\n' 20:54:40.839433 Received DATA (on stdin) 20:54:40.839449 > 33 bytes data, server => client 20:54:40.839461 '331 We are happy you popped in!\r\n' 20:54:40.839518 < 22 bytes data, client => server 20:54:40.839529 'PASS ftp@example.com\r\n' 20:54:40.839612 Received DATA (on stdin) 20:54:40.839622 > 30 bytes data, server => client 20:54:40.839632 '230 Welcome you silly person\r\n' 20:54:40.839674 < 5 bytes data, client => server 20:54:40.839685 'PWD\r\n' 20:54:40.839765 Received DATA (on stdin) 20:54:40.839787 > 30 bytes data, server => client 20:54:40.839798 '257 "/" is current directory\r\n' 20:54:40.839874 < 6 bytes data, client => server 20:54:40.839888 'EPSV\r\n' 20:54:40.841902 Received DATA (on stdin) 20:54:40.841921 > 38 bytes data, server => client 20:54:40.841932 '229 Entering Passive Mode (|||34795|)\n' 20:54:40.842038 < 8 bytes data, client => server 20:54:40.842053 'TYPE I\r\n' 20:54:40.842219 Received DATA (on stdin) 20:54:40.842231 > 33 bytes data, server => client 20:54:40.842242 '200 I modify TYPE as you wanted\r\n' 20:54:40.842294 < 21 bytes data, client => server 20:54:40.842308 'SIZE verifiedserver\r\n' 20:54:40.842413 Received DATA (on stdin) 20:54:40.842429 > 8 bytes data, server => client 20:54:40.842440 '213 18\r\n' 20:54:40.842487 < 21 bytes data, client => server 20:54:40.842498 'RETR verifiedserver\r\n' 20:54:40.842671 Received DATA (on stdin) 20:54:40.842683 > 29 bytes data, server => client 20:54:40.842693 '150 Binary junk (18 bytes).\r\n' 20:54:40.843121 Received DATA (on stdin) 20:54:40.843133 > 28 bytes data, server => client 20:54:40.843144 '226 File transfer complete\r\n' 20:54:40.883934 < 6 bytes data, client => server 20:54:40.883959 'QUIT\r\n' 20:54:40.884221 Received DATA (on stdin) 20:54:40.884234 > 18 bytes data, server => client 20:54:40.884245 '221 bye bye baby\r\n' 20:54:40.884927 ====> Client disconnect 20:54:40.885078 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.841569 Running IPv4 version 20:54:40.841618 Listening on port 34795 20:54:40.841658 Wrote pid 125119 to log/7/server/ftp_sockdata.pid 20:54:40.841676 Received PING (on stdin) 20:54:40.841775 Received PORT (on stdin) 20:54:40.842042 ====> Client connect 20:54:40.842718 Received DATA (on stdin) 20:54:40.842731 > 18 bytes data, server => client 20:54:40.842741 'WE ROOLZ: 110634\r\n' 20:54:40.842765 Received DISC (on stdin) 20:54:40.842779 ====> Client forcibly disconnected 20:54:40.842859 Received QUIT (on stdin) 20:54:40.842870 quits 20:54:40.842925 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==125338== ==125338== Process terminating with default action of signal 4 (SIGILL) ==125338== Illegal opcode at address 0x4003082 ==125338== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125338== by 0x4003082: main (tool_main.c:243) === End of file valgrind353 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/14/valgrind348 ../src/curl -q --output log/14/curl348.out --include --trace-ascii log/14/trace348 --trace-config all --trace-time ftp://127.0.0.1:36539/348 -T log/14/test348.txt > log/14/stdout348 2> log/14/stderr348 348: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind348 ../src/curl -q --output log/14/curl348.out --include --trace-ascii log/14/trace348 --trace-config all --trace-time ftCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind350 ../src/curl -q --output log/19/curl350.out --include --trace-ascii log/19/trace350 --trace-config all --trace-time ftp://127.0.0.1:44763// --ftp-method multicwd > log/19/stdout350 2> log/19/stderr350 CMD (33792): ../libtool --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/valgrind351 ../src/curl -q --output log/2/curl351.out --include --trace-ascii log/2/trace351 --trace-config all --trace-time ftp://127.0.0.1:41115// --ftp-method nocwd > log/2/stdout351 2> log/2/stderr351 p://127.0.0.1:36539/348 -T log/14/test348.txt > log/14/stdout348 2> log/14/stderr348 === End of file commands.log === Start of file ftp_server.log 20:54:40.603118 ====> Client connect 20:54:40.603248 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.603501 < "USER anonymous" 20:54:40.603541 > "331 We are happy you popped in![CR][LF]" 20:54:40.603712 < "PASS ftp@example.com" 20:54:40.603735 > "230 Welcome you silly person[CR][LF]" 20:54:40.603997 < "PWD" 20:54:40.604029 > "257 "/" is current directory[CR][LF]" 20:54:40.604316 < "EPSV" 20:54:40.604359 ====> Passive DATA channel requested by client 20:54:40.604374 DATA sockfilt for passive data channel starting... 20:54:40.607126 DATA sockfilt for passive data channel started (pid 125016) 20:54:40.607244 DATA sockfilt for passive data channel listens on port 37483 20:54:40.607296 > "229 Entering Passive Mode (|||37483|)[LF]" 20:54:40.607318 Client has been notified that DATA conn will be accepted on port 37483 20:54:40.607587 Client connects to port 37483 20:54:40.607616 ====> Client established passive DATA connection on port 37483 20:54:40.607695 < "TYPE I" 20:54:40.607732 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.607891 < "SIZE verifiedserver" 20:54:40.607929 > "213 18[CR][LF]" 20:54:40.608087 < "RETR verifiedserver" 20:54:40.608120 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.608201 =====> Closing passive DATA connection... 20:54:40.608219 Server disconnects passive DATA connection 20:54:40.608397 Server disconnected passive DATA connection 20:54:40.608425 DATA sockfilt for passive data channel quits (pid 125016) 20:54:40.608686 DATA sockfilt for passive data channel quit (pid 125016) 20:54:40.608719 =====> Closed passive DATA connection 20:54:40.608746 > "226 File transfer complete[CR][LF]" 20:54:40.652410 < "QUIT" 20:54:40.652466 > "221 bye bye baby[CR][LF]" 20:54:40.652718 MAIN sockfilt said DISC 20:54:40.652767 ====> Client disconnected 20:54:40.652893 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.824540 ====> Client connect 20:54:40.824774 Received DATA (on stdin) 20:54:40.824790 > 160 bytes data, server => client 20:54:40.824801 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.824811 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.824820 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.824892 < 16 bytes data, client => server 20:54:40.824904 'USER anonymous\r\n' 20:54:40.825057 Received DATA (on stdin) 20:54:40.825069 > 33 bytes data, server => client 20:54:40.825080 '331 We are happy you popped in!\r\n' 20:54:40.825141 < 22 bytes data, client => server 20:54:40.825152 'PASS ftp@example.com\r\n' 20:54:40.825246 Received DATA (on stdin) 20:54:40.825256 > 30 bytes data, server => client 20:54:40.825266 '230 Welcome you silly person\r\n' 20:54:40.825308 < 5 bytes data, client => server 20:54:40.825318 'PWD\r\n' 20:54:40.825544 Received DATA (on stdin) 20:54:40.825556 > 30 bytes data, server => client 20:54:40.825567 '257 "/" is current directory\r\n' 20:54:40.825683 < 6 bytes data, client => server 20:54:40.825707 'EPSV\r\n' 20:54:40.828844 Received DATA (on stdin) 20:54:40.828865 > 38 bytes data, server => client 20:54:40.828877 '229 Entering Passive Mode (|||37483|)\n' 20:54:40.829016 < 8 bytes data, client => server 20:54:40.829034 'TYPE I\r\n' 20:54:40.829249 Received DATA (on stdin) 20:54:40.829262 > 33 bytes data, server => client 20:54:40.829273 '200 I modify TYPE as you wanted\r\n' 20:54:40.829321 < 21 bytes data, client => server 20:54:40.829333 'SIZE verifiedserver\r\n' 20:54:40.829444 Received DATA (on stdin) 20:54:40.829457 > 8 bytes data, server => client 20:54:40.829467 '213 18\r\n' 20:54:40.829515 < 21 bytes data, client => server 20:54:40.829529 'RETR verifiedserver\r\n' 20:54:40.829670 Received DATA (on stdin) 20:54:40.829689 > 29 bytes data, server => client 20:54:40.829701 '150 Binary junk (18 bytes).\r\n' 20:54:40.830263 Received DATA (on stdin) 20:54:40.830278 > 28 bytes data, server => client 20:54:40.830289 '226 File transfer complete\r\n' 20:54:40.873734 < 6 bytes data, client => server 20:54:40.873759 'QUIT\r\n' 20:54:40.873975 Received DATA (on stdin) 20:54:40.874001 > 18 bytes data, server => client 20:54:40.874012 '221 bye bye baby\r\n' 20:54:40.874170 ====> Client disconnect 20:54:40.874277 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.827473 Running IPv4 version 20:54:40.827523 Listening on port 37483 20:54:40.827553 Wrote pid 125016 to log/14/server/ftp_sockdata.pid 20:54:40.828570 Received PING (on stdin) 20:54:40.828668 Received PORT (on stdin) 20:54:40.829056 ====> Client connect 20:54:40.829737 Received DATA (on stdin) 20:54:40.829750 > 18 bytes data, server => client 20:54:40.829761 'WE ROOLZ: 110708\r\n' 20:54:40.829794 Received DISC (on stdin) 20:54:40.829806 ====> Client forcibly disconnected 20:54:40.829948 Received QUIT (on stdin) 20:54:40.829960 quits 20:54:40.830028 ============> 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 ==125301== ==125301== Process terminating with default action of signal 4 (SIGILL) ==125301== Illegal opcode at address 0x4003082 ==125301== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125301== by 0x4003082: main (tool_main.c:243) === 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/19/valgrind350 ../src/curl -q --output log/19/curl350.out --include --trace-ascii log/19/trace350 --trace-config all --trace-time ftp://127.0.0.1:44763// --ftp-method multicwd > log/19/stdout350 2> log/19/stderr350 350: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind350 ../src/curl -q --output log/19/curl350.out --include --trace-ascii log/19/trace350 --trace-config all --trace-time ftp://127.0.0.1:44763// --ftp-method multicwd > log/19/stdout350 2> log/19/stderr350 === End of file commands.log === Start of file ftp_server.log 20:54:40.607438 ====> Client connect 20:54:40.607665 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.607911 < "USER anonymous" 20:54:40.607944 > "331 We are happy you popped in![CR][LF]" 20:54:40.608106 < "PASS ftp@example.com" 20:54:40.608132 > "230 Welcome you silly person[CR][LF]" 20:54:40.608374 < "PWD" 20:54:40.608613 > "257 "/" is current directory[CR][LF]" 20:54:40.608887 < "EPSV" 20:54:40.608917 ====> Passive DATA channel requested by client 20:54:40.608931 DATA sockfilt for passive data channel starting... 20:54:40.610689 DATA sockfilt for passive data channel started (pid 125054) 20:54:40.611000 DATA sockfilt for passive data channel listens on port 44783 20:54:40.611048 > "229 Entering Passive Mode (|||44783|)[LF]" 20:54:40.611070 Client has been notified that DATA conn will be accepted on port 44783 20:54:40.611486 Client connects to port 44783 20:54:40.611513 ====> Client established passive DATA connection on port 44783 20:54:40.611588 < "TYPE I" 20:54:40.611618 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.611819 < "SIZE verifiedserver" 20:54:40.611887 > "213 18[CR][LF]" 20:54:40.612106 < "RETR verifiedserver" 20:54:40.612141 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.612219 =====> Closing passive DATA connection... 20:54:40.612236 Server disconnects passive DATA connection 20:54:40.612314 Server disconnected passive DATA connection 20:54:40.612335 DATA sockfilt for passive data channel quits (pid 125054) 20:54:40.612615 DATA sockfilt for passive data channel quit (pid 125054) 20:54:40.612641 =====> Closed passive DATA connection 20:54:40.612669 > "226 File transfer complete[CR][LF]" 20:54:40.655662 < "QUIT" 20:54:40.655701 > "221 bye bye baby[CR][LF]" 20:54:40.656069 MAIN sockfilt said DISC 20:54:40.656103 ====> Client disconnected 20:54:40.656159 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.828838 ====> Client connect 20:54:40.829131 Received DATA (on stdin) 20:54:40.829191 > 160 bytes data, server => client 20:54:40.829204 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.829215 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.829225 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.829295 < 16 bytes data, client => server 20:54:40.829309 'USER anonymous\r\n' 20:54:40.829460 Received DATA (on stdin) 20:54:40.829473 > 33 bytes data, server => client 20:54:40.829484 '331 We are happy you popped in!\r\n' 20:54:40.829531 < 22 bytes data, client => server 20:54:40.829545 'PASS ftp@example.com\r\n' 20:54:40.829645 Received DATA (on stdin) 20:54:40.829657 > 30 bytes data, server => client 20:54:40.829667 '230 Welcome you silly person\r\n' 20:54:40.829714 < 5 bytes data, client => server 20:54:40.829727 'PWD\r\n' 20:54:40.830137 Received DATA (on stdin) 20:54:40.830160 > 30 bytes data, server => client 20:54:40.830172 '257 "/" is current directory\r\n' 20:54:40.830296 < 6 bytes data, client => server 20:54:40.830312 'EPSV\r\n' 20:54:40.832684 Received DATA (on stdin) 20:54:40.832698 > 38 bytes data, server => client 20:54:40.832709 '229 Entering Passive Mode (|||44783|)\n' 20:54:40.832944 < 8 bytes data, client => server 20:54:40.832958 'TYPE I\r\n' 20:54:40.833134 Received DATA (on stdin) 20:54:40.833154 > 33 bytes data, server => client 20:54:40.833165 '200 I modify TYPE as you wanted\r\n' 20:54:40.833238 < 21 bytes data, client => server 20:54:40.833253 'SIZE verifiedserver\r\n' 20:54:40.833416 Received DATA (on stdin) 20:54:40.833429 > 8 bytes data, server => client 20:54:40.833440 '213 18\r\n' 20:54:40.833519 < 21 bytes data, client => server 20:54:40.833537 'RETR verifiedserver\r\n' 20:54:40.833751 Received DATA (on stdin) 20:54:40.833765 > 29 bytes data, server => client 20:54:40.833776 '150 Binary junk (18 bytes).\r\n' 20:54:40.834184 Received DATA (on stdin) 20:54:40.834197 > 28 bytes data, server => client 20:54:40.834208 '226 File transfer complete\r\n' 20:54:40.877049 < 6 bytes data, client => server 20:54:40.877238 'QUIT\r\n' 20:54:40.877252 Received DATA (on stdin) 20:54:40.877259 > 18 bytes data, server => client 20:54:40.877267 '221 bye bye baby\r\n' 20:54:40.877523 ====> Client disconnect 20:54:40.877671 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.831965 Running IPv4 version 20:54:40.832024 Listening on port 44783 20:54:40.832065 Wrote pid 125054 to log/19/server/ftp_sockdata.pid 20:54:40.832084 Received PING (on stdin) 20:54:40.832370 Received PORT (on stdin) 20:54:40.832885 ====> Client connect 20:54:40.833735 Received DATA (on stdin) 20:54:40.833752 > 18 bytes data, server => client 20:54:40.833762 'WE ROOLZ: 110642\r\n' 20:54:40.833788 Received DISC (on stdin) 20:54:40.833799 ====> Client forcibly disconnected 20:54:40.833856 Received QUIT (on stdin) 20:54:40.833868 quits 20:54:40.833917 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==125303== ==125303== Process terminating with default action of signal 4 (SIGILL) ==125303== Illegal opcode at address 0x4003082 ==125303== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125303== by 0x4003082: main (tool_main.c:243) === End of file valgrind350 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/2/valgrind351 ../src/curl -q --output log/2/curl351.out --include --trace-ascii log/2/trace351 --trace-config all --trace-time ftp://127.0.0.1:41115// --ftp-method nocwd > log/2/stdout351 2> log/2/stderr351 351: 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 351 === Start of file commands.log ../libtool --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/valgrind351 ../src/curl -q --output log/2/curl351.out --include --trace-ascii log/2/trace351 --trace-config all --trace-time ftp://127.0.0.1:41115// --ftp-method nocwd > log/2/stdout351 2> log/2/stderr351 === End of file commands.log === Start of file ftp_server.log 20:54:40.610024 ====> Client connect 20:54:40.610171 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.610466 < "USER anonymous" 20:54:40.610521 > "331 We are happy you popped in![CR][LF]" 20:54:40.610780 < "PASS ftp@example.com" 20:54:40.610806 > "230 Welcome you silly person[CR][LF]" 20:54:40.611135 < "PWD" 20:54:40.611167 > "257 "/" is current directory[CR][LF]" 20:54:40.611649 < "EPSV" 20:54:40.611674 ====> Passive DATA channel requested by client 20:54:40.611688 DATA sockfilt for passive data channel starting... 20:54:40.613789 DATA sockfilt for passive data channel started (pid 125074) 20:54:40.613881 DATA sockfilt for passive data channel listens on port 40309 20:54:40.613919 > "229 Entering Passive Mode (|||40309|)[LF]" 20:54:40.613936 Client has been notified that DATA conn will be accepted on port 40309 20:54:40.614203 Client connects to port 40309 20:54:40.614245 ====> Client established passive DATA connection on port 40309 20:54:40.614333 < "TYPE I" 20:54:40.614362 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.614501 < "SIZE verifiedserver" 20:54:40.614531 > "213 18[CR][LF]" 20:54:40.614663 < "RETR verifiedserver" 20:54:40.614696 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.614818 =====> Closing passive DATA connection... 20:54:40.614844 Server disconnects passive DATA connection 20:54:40.614925 Server disconnected passive DATA connection 20:54:40.614959 DATA sockfilt for passive data channel quits (pid 125074) 20:54:40.615201 DATA sockfilt for passive data channel quit (pid 125074) 20:54:40.615221 =====> Closed passive DATA connection 20:54:40.615247 > "226 File transfer complete[CR][LF]" 20:54:40.659183 < "QUIT" 20:54:40.659241 > "221 bye bye baby[CR][LF]" 20:54:40.659859 MAIN sockfilt said DISC 20:54:40.659889 ====> Client disconnected 20:54:40.659959 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:39.831450 ====> Client connect 20:54:39.831696 Received DATA (on stdin) 20:54:39.831711 > 160 bytes data, server => client 20:54:39.831722 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:39.831733 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:39.831743 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:39.831802 < 16 bytes data, client => server 20:54:39.831814 'USER anonymous\r\n' 20:54:39.832044 Received DATA (on stdin) 20:54:39.832062 > 33 bytes data, server => client 20:54:39.832073 '331 We are happy you popped in!\r\n' 20:54:39.832141 < 22 bytes data, client => server 20:54:39.832155 'PASS ftp@exaCMD (33792): ../libtool --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:35779/we/want/357 -T log/4/test357.txt --expect100-timeout 99 > log/4/stdout357 2> log/4/stderr357 mple.com\r\n' 20:54:39.832320 Received DATA (on stdin) 20:54:39.832333 > 30 bytes data, server => client 20:54:39.832343 '230 Welcome you silly person\r\n' 20:54:39.832413 < 5 bytes data, client => server 20:54:39.832425 'PWD\r\n' 20:54:39.832739 Received DATA (on stdin) 20:54:39.832752 > 30 bytes data, server => client 20:54:39.832763 '257 "/" is current directory\r\n' 20:54:39.833085 < 6 bytes data, client => server 20:54:39.833106 'EPSV\r\n' 20:54:39.835455 Received DATA (on stdin) 20:54:39.835468 > 38 bytes data, server => client 20:54:39.835478 '229 Entering Passive Mode (|||40309|)\n' 20:54:39.835605 < 8 bytes data, client => server 20:54:39.835626 'TYPE I\r\n' 20:54:39.835873 Received DATA (on stdin) 20:54:39.835886 > 33 bytes data, server => client 20:54:39.835895 '200 I modify TYPE as you wanted\r\n' 20:54:39.835949 < 21 bytes data, client => server 20:54:39.835957 'SIZE verifiedserver\r\n' 20:54:39.836043 Received DATA (on stdin) 20:54:39.836053 > 8 bytes data, server => client 20:54:39.836062 '213 18\r\n' 20:54:39.836105 < 21 bytes data, client => server 20:54:39.836115 'RETR verifiedserver\r\n' 20:54:39.836234 Received DATA (on stdin) 20:54:39.836254 > 29 bytes data, server => client 20:54:39.836266 '150 Binary junk (18 bytes).\r\n' 20:54:39.836764 Received DATA (on stdin) 20:54:39.836776 > 28 bytes data, server => client 20:54:39.836786 '226 File transfer complete\r\n' 20:54:39.880548 < 6 bytes data, client => server 20:54:39.880573 'QUIT\r\n' 20:54:39.880764 Received DATA (on stdin) 20:54:39.880782 > 18 bytes data, server => client 20:54:39.880792 '221 bye bye baby\r\n' 20:54:39.881322 ====> Client disconnect 20:54:39.881469 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.835043 Running IPv4 version 20:54:40.835094 Listening on port 40309 20:54:40.835134 Wrote pid 125074 to log/2/server/ftp_sockdata.pid 20:54:40.835251 Received PING (on stdin) 20:54:40.835321 Received PORT (on stdin) 20:54:40.835589 ====> Client connect 20:54:40.836280 Received DATA (on stdin) 20:54:40.836300 > 18 bytes data, server => client 20:54:40.836310 'WE ROOLZ: 110829\r\n' 20:54:40.836365 Received DISC (on stdin) 20:54:40.836378 ====> Client forcibly disconnected 20:54:40.836487 Received QUIT (on stdin) 20:54:40.836501 quits 20:54:40.836557 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==125321== ==125321== Process terminating with default action of signal 4 (SIGILL) ==125321== Illegal opcode at address 0x4003082 ==125321== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125321== by 0x4003082: main (tool_main.c:243) === End of file valgrind351 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:35779/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 commands.log ../libtool --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:35779/we/want/357 -T log/4/test357.txt --expect100-timeout 99 > log/4/stdout357 2> log/4/stderr357 === End of file commands.log === Start of file http_server.log 20:54:40.897554 ====> Client connect 20:54:40.897586 accept_connection 3 returned 4 20:54:40.897601 accept_connection 3 returned 0 20:54:40.897613 Read 93 bytes 20:54:40.897622 Process 93 bytes request 20:54:40.897633 Got request: GET /verifiedserver HTTP/1.1 20:54:40.897642 Are-we-friendly question received 20:54:40.897664 Wrote request (93 bytes) input to log/4/server.input 20:54:40.897679 Identifying ourselves as friends 20:54:40.897740 Response sent (57 bytes) and written to log/4/server.response 20:54:40.897752 special request received, no persistency 20:54:40.897760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind361 ../src/curl -q --output log/18/curl361.out --include --trace-ascii log/18/trace361 --trace-config all --trace-time http://127.0.0.1:34637/361 http://127.0.0.1:34637/361 --fail-with-body > log/18/stdout361 2> log/18/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/8/valgrind365 ../src/curl -q --output log/8/curl365.out --include --trace-ascii log/8/trace365 --trace-config all --trace-time http://127.0.0.1:35791/365 > log/8/stdout365 2> log/8/stderr365 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==125518== ==125518== Process terminating with default action of signal 4 (SIGILL) ==125518== Illegal opcode at address 0x4003082 ==125518== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125518== by 0x4003082: main (tool_main.c:243) === End of file valgrind357 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/18/valgrind361 ../src/curl -q --output log/18/curl361.out --include --trace-ascii log/18/trace361 --trace-config all --trace-time http://127.0.0.1:34637/361 http://127.0.0.1:34637/361 --fail-with-body > log/18/stdout361 2> log/18/stderr361 361: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind361 ../src/curl -q --output log/18/curl361.out --include --trace-ascii log/18/trace361 --trace-config all --trace-time http://127.0.0.1:34637/361 http://127.0.0.1:34637/361 --fail-with-body > log/18/stdout361 2> log/18/stderr361 === End of file commands.log === Start of file http_server.log 20:54:40.933147 ====> Client connect 20:54:40.933170 accept_connection 3 returned 4 20:54:40.933184 accept_connection 3 returned 0 20:54:40.933194 Read 93 bytes 20:54:40.933202 Process 93 bytes request 20:54:40.933212 Got request: GET /verifiedserver HTTP/1.1 20:54:40.933219 Are-we-friendly question received 20:54:40.933235 Wrote request (93 bytes) input to log/18/server.input 20:54:40.933247 Identifying ourselves as friends 20:54:40.933285 Response sent (57 bytes) and written to log/18/server.response 20:54:40.933292 special request received, no persistency 20:54:40.933299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind361 ==125684== ==125684== Process terminating with default action of signal 4 (SIGILL) ==125684== Illegal opcode at address 0x4003082 ==125684== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125684== by 0x4003082: main (tool_main.c:243) === 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/8/valgrind365 ../src/curl -q --output log/8/curl365.out --include --trace-ascii log/8/trace365 --trace-config all --trace-time http://127.0.0.1:35791/365 > log/8/stdout365 2> log/8/stderr365 365: 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 365 === Start of file commands.log ../libtool --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/valgrind365 ../src/curl -q --output log/8/curl365.out --include --trace-ascii log/8/trace365 --trace-config all --trace-time http://127.0.0.1:35791/365 > log/8/stdout365 2> log/8/stderr365 === End of file commands.log === Start of file http_server.log 20:54:41.024644 ====> Client connect 20:54:41.024675 accept_connection 3 returned 4 20:54:41.024692 accept_connection 3 returned 0 20:54:41.024706 Read 93 bytes 20:54:41.024715 Process 93 bytes request 20:54:41.024729 Got request: GET /verifiedserver HTTP/1.1 20:54:41.024737 Are-we-friendly question received 20:54:41.024761 Wrote request (93 bytes) input to log/8/server.input 20:54:41.024776 Identifying ourselves as friends 20:54:41.024827 Response sent (57 bytes) and written to log/8/server.response 20:54:41.024837 special request received, no persistency 20:54:41.024845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind365 ==125880== ==125880== Process terminating with default action of signal 4 (SIGILL) ==125880== Illegal opcode at address 0x4003082 ==125880== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125880== by 0x4003082: main (tool_main.c:243) === End 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/1/valgrind368 ../src/curl -q --output log/1/curl368.out --include --trace-ascii log/1/trace368 --trace-config all --trace-time http://127.0.0.1:42503/368 -r 4 > log/1/stdout368 2> log/1/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/20/valgrind367 ../src/curl -q --output log/20/curl367.out --include --trace-ascii log/20/trace367 --trace-config all --trace-time http://:example@127.0.0.1:41293/367 > log/20/stdout367 2> log/20/stderr367 CMD (33792): ../libtool --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/valgrind369 ../src/curl -q --output log/5/curl369.out --include --trace-ascii log/5/trace369 --trace-config all --trace-time http://127.0.0.1:33725/369 --etag-save log/5/nowhere/etag369 --next http://127.0.0.1:33725/369 --include --output log/5/curl369.out > log/5/stdout369 2> log/5/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/21/valgrind362 ../src/curl -q --output log/21/curl362.out --include --trace-ascii log/21/trace362 --trace-config all --trace-time ftp://127.0.0.1:44075/362 -T log/21/test362.txt --continue-at - > log/21/stdout362 2> log/21/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/23/valgrind366 ../src/curl -q --output log/23/curl366.out --include --trace-ascii log/23/trace366 --trace-config all --trace-time http://127.0.0.1:38539/366 --retry 2 --retry-max-time 10 > log/23/stdout366 2> log/23/stderr366 algrind365 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/1/valgrind368 ../src/curl -q --output log/1/curl368.out --include --trace-ascii log/1/trace368 --trace-config all --trace-time http://127.0.0.1:42503/368 -r 4 > log/1/stdout368 2> log/1/stderr368 368: 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 368 === Start of file commands.log ../libtool --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/valgrind368 ../src/curl -q --output log/1/curl368.out --include --trace-ascii log/1/trace368 --trace-config all --trace-time http://127.0.0.1:42503/368 -r 4 > log/1/stdout368 2> log/1/stderr368 === End of file commands.log === Start of file http_server.log 20:54:41.042766 ====> Client connect 20:54:41.042794 accept_connection 3 returned 4 20:54:41.042811 accept_connection 3 returned 0 20:54:41.042825 Read 93 bytes 20:54:41.042835 Process 93 bytes request 20:54:41.042847 Got request: GET /verifiedserver HTTP/1.1 20:54:41.042856 Are-we-friendly question received 20:54:41.042878 Wrote request (93 bytes) input to log/1/server.input 20:54:41.042894 Identifying ourselves as friends 20:54:41.042946 Response sent (57 bytes) and written to log/1/server.response 20:54:41.042957 special request received, no persistency 20:54:41.042966 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind368 ==125939== ==125939== Process terminating with default action of signal 4 (SIGILL) ==125939== Illegal opcode at address 0x4003082 ==125939== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125939== by 0x4003082: main (tool_main.c:243) === 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/20/valgrind367 ../src/curl -q --output log/20/curl367.out --include --trace-ascii log/20/trace367 --trace-config all --trace-time http://:example@127.0.0.1:41293/367 > log/20/stdout367 2> log/20/stderr367 367: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind367 ../src/curl -q --output log/20/curl367.out --include --trace-ascii log/20/trace367 --trace-config all --trace-time http://:example@127.0.0.1:41293/367 > log/20/stdout367 2> log/20/stderr367 === End of file commands.log === Start of file http_server.log 20:54:41.031985 ====> Client connect 20:54:41.032015 accept_connection 3 returned 4 20:54:41.032032 accept_connection 3 returned 0 20:54:41.032045 Read 93 bytes 20:54:41.032056 Process 93 bytes request 20:54:41.032068 Got request: GET /verifiedserver HTTP/1.1 20:54:41.032077 Are-we-friendly question received 20:54:41.032099 Wrote request (93 bytes) input to log/20/server.input 20:54:41.032115 Identifying ourselves as friends 20:54:41.032165 Response sent (57 bytes) and written to log/20/server.response 20:54:41.032175 special request received, no persistency 20:54:41.032184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind367 ==125898== ==125898== Process terminating with default action of signal 4 (SIGILL) ==125898== Illegal opcode at address 0x4003082 ==125898== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125898== by 0x4003082: main (tool_main.c:243) === 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/5/valgrind369 ../src/curl -q --output log/5/curl369.out --include --trace-ascii log/5/trace369 --trace-config all --trace-time http://127.0.0.1:33725/369 --etag-save log/5/nowhere/etag369 --next http://127.0.0.1:33725/369 --include --output log/5/curl369.out > log/5/stdout369 2> log/5/stderr369 369: 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 369 === Start of file commands.log ../libtool --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/valgrind369 ../src/curl -q --output log/5/curl369.out --include --trace-ascii log/5/trace369 --trace-config all --trace-time http://127.0.0.1:33725/369 --etag-save log/5/nowhere/etag369 --next http://127.0.0.1:33725/369 --include --output log/5/curl369.out > log/5/stdout369 2> log/5/stderr369 === End of file commands.log === Start of file http_server.log 20:54:41.049921 ====> Client connect 20:54:41.049969 accept_connection 3 returned 4 20:54:41.049987 accept_connection 3 returned 0 20:54:41.050001 Read 93 bytes 20:54:41.050011 Process 93 bytes request 20:54:41.050022 Got request: GET /verifiedserver HTTP/1.1 20:54:41.050031 Are-we-friendly question received 20:54:41.050057 Wrote request (93 bytes) input to log/5/server.input 20:54:41.050073 Identifying ourselves as friends 20:54:41.050134 Response sent (57 bytes) and written to log/5/server.response 20:54:41.050144 special request received, no persistency 20:54:41.050153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind369 ==125970== ==125970== Process terminating with default action of signal 4 (SIGILL) ==125970== Illegal opcode at address 0x4003082 ==125970== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125970== by 0x4003082: main (tool_main.c:243) === End of file valgrind369 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/21/valgrind362 ../src/curl -q --output log/21/curl362.out --include --trace-ascii log/21/trace362 --trace-config all --trace-time ftp://127.0.0.1:44075/362 -T log/21/test362.txt --continue-at - > log/21/stdout362 2> log/21/stderr362 362: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind362 ../src/curl -q --output log/21/curl362.out --include --trace-ascii log/21/trace362 --trace-config all --trace-time ftp://127.0.0.1:44075/362 -T log/21/test362.txt --continue-at - > log/21/stdout362 2> log/21/stderr362 === End of file commands.log === Start of file ftp_server.log 20:54:40.801624 ====> Client connect 20:54:40.801815 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:40.802091 < "USER anonymous" 20:54:40.802123 > "331 We are happy you popped in![CR][LF]" 20:54:40.803668 < "PASS ftp@example.com" 20:54:40.803701 > "230 Welcome you silly person[CR][LF]" 20:54:40.803869 < "PWD" 20:54:40.803900 > "257 "/" is current directory[CR][LF]" 20:54:40.804096 < "EPSV" 20:54:40.804141 ====> Passive DATA channel requested by client 20:54:40.804156 DATA sockfilt for passive data channel starting... 20:54:40.806207 DATA sockfilt for passive data channel started (pid 125858) 20:54:40.806339 DATA sockfilt for passive data channel listens on port 37155 20:54:40.806377 > "229 Entering Passive Mode (|||37155|)[LF]" 20:54:40.806394 Client has been notified that DATA conn will be accepted on port 37155 20:54:40.806629 Client connects to port 37155 20:54:40.806691 ====> Client established passive DATA connection on port 37155 20:54:40.806793 < "TYPE I" 20:54:40.806833 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:40.807040 < "SIZE verifiedserver" 20:54:40.807073 > "213 18[CR][LF]" 20:54:40.807211 < "RETR verifiedserver" 20:54:40.807241 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:40.807314 =====> Closing passive DATA connection... 20:54:40.807328 Server disconnects passive DATA connection 20:54:40.807564 Server disconnected passive DATA connection 20:54:40.807589 DATA sockfilt for passive data channel quits (pid 125858) 20:54:40.807842 DATA sockfilt for passive data channel quit (pid 125858) 20:54:40.807863 =====> Closed passive DATA connection 20:54:40.807887 > "226 File transfer complete[CR][LF]" 20:54:40.849224 < "QUIT" 20:54:40.849283 > "221 bye bye baby[CR][LF]" 20:54:40.849620 MAIN sockfilt said DISC 20:54:40.849648 ====> Client disconnected 20:54:40.849731 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:41.022711 ====> Client connect 20:54:41.023340 Received DATA (on stdin) 20:54:41.023355 > 160 bytes data, server => client 20:54:41.023367 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:41.023378 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:41.023388 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:41.023458 < 16 bytes data, client => server 20:54:41.023470 'USER anonymous\r\n' 20:54:41.023637 Received DATA (on stdin) 20:54:41.023674 > 33 bytes data, server => client 20:54:41.023685 '331 We are happy you popped in!\r\n' 20:54:41.023972 < 22 bytes data, client => server 20:54:41.023990 'PASS ftp@example.com\r\n' 20:54:41.025217 Received DATA (on stdin) 20:54:41.025229 > 30 bytes data, server => client 20:54:41.025240 '230 Welcome you silly person\r\n' 20:54:41.025291 < 5 bytes data, client => server 20:54:41.025302 'PWD\r\n' 20:54:41.025414 Received DATA (on stdin) 20:54:41.025427 > 30 bytes data, server => client 20:54:41.025437 '257 "/" is current directory\r\n' 20:54:41.025508 < 6 bytes data, client => server 20:54:41.025522 'EPSV\r\n' 20:54:41.027923 Received DATA (on stdin) 20:54:41.027936 > 38 bytes data, server => client 20:54:41.027947 '229 Entering Passive Mode (|||37155|)\n' 20:54:41.028082 < 8 bytes data, client => server 20:54:41.028093 'TYPE I\r\n' 20:54:41.028354 Received DATA (on stdin) 20:54:41.028374 > 33 bytes data, server => client 20:54:41.028386 '200 I modify TYPE as you wanted\r\n' 20:54:41.028475 < 21 bytes data, client => server 20:54:41.028487 'SIZE verifiedserver\r\n' 20:54:41.028586 Received DATA (on stdin) 20:54:41.028598 > 8 bytes data, server => client 20:54:41.028607 '213 18\r\n' 20:54:41.028650 < 21 bytes data, client => server 20:54:41.028661 'RETR verifiedserver\r\n' 20:54:41.028841 Received DATA (on stdin) 20:54:41.028852 > 29 bytes data, server => client 20:54:41.028862 '150 Binary junk (18 bytes).\r\n' 20:54:41.029402 Received DATA (on stdin) 20:54:41.029414 > 28 bytes data, server => client 20:54:41.029425 '226 File transfer complete\r\n' 20:54:41.070505 < 6 bytes data, client => server 20:54:41.070541 'QUIT\r\n' 20:54:41.070800 Received DATA (on stdin) 20:54:41.070812 > 18 bytes data, server => client 20:54:41.070822 '221 bye bye baby\r\n' 20:54:41.071084 ====> Client disconnect 20:54:41.071244 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:40.027532 Running IPv4 version 20:54:40.027595 Listening on port 37155 20:54:40.027629 Wrote pid 125858 to log/21/server/ftp_sockdata.pid 20:54:40.027648 Received PING (on stdin) 20:54:40.027753 Received PORT (on stdin) 20:54:40.028053 ====> Client connect 20:54:40.028889 Received DATA (on stdin) 20:54:40.028911 > 18 bytes data, server => client 20:54:40.028922 'WE ROOLZ: 110702\r\n' 20:54:40.028950 Received DISC (on stdin) 20:54:40.028961 ====> Client forcibly disconnected 20:54:40.029110 Received QUIT (on stdin) 20:54:40.029121 quits 20:54:40.029183 ============> 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 ==126090== ==126090== Process terminating with default action of signal 4 (SIGILL) ==126090== Illegal opcode at address 0x4003082 ==126090== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126090== by 0x4003082: main (tool_main.c:243) === End of file valgrind362 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/23/valgrind366 ../src/curl -q --output log/23/curl366.out --include --trace-ascii log/23/trace366 --trace-config all --trace-time http://127.0.0.1:38539/366 --retry 2 --retry-max-time 10 > log/23/stdout366 2> log/23/stderr366 366: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind366 ../src/curl -q --output log/23/curl366.out --include --trace-ascii log/23/trace366 --trace-config all --trace-time http://127.0.0.1:38539/366 --retry 2 --retry-max-time 10 > log/23/stdout366 2> log/23/stderr366 === End of file commands.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/22/valgrind332 ../src/curl -q --output log/22/curl332.out --include --trace-ascii log/22/trace332 --trace-config all --trace-time tftp://127.0.0.1:53894//332 --tftp-blksize 400 > log/22/stdout332 2> log/22/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/11/valgrind370 ../src/curl -q --output log/11/curl370.out --include --trace-ascii log/11/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/11/nowhere/etag370 > log/11/stdout370 2> log/11/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/19/valgrind385 ../src/curl -q --output log/19/curl385.out --include --trace-ascii log/19/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:46549/385 -H "Content-Type: drinks/hot" > log/19/stdout385 2> log/19/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/7/valgrind383 ../src/curl -q --output log/7/curl383.out --include --trace-ascii log/7/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:39141/383 > log/7/stdout383 2> log/7/stderr383 file http_server.log 20:54:41.030519 ====> Client connect 20:54:41.030551 accept_connection 3 returned 4 20:54:41.030568 accept_connection 3 returned 0 20:54:41.030582 Read 93 bytes 20:54:41.030592 Process 93 bytes request 20:54:41.030605 Got request: GET /verifiedserver HTTP/1.1 20:54:41.030615 Are-we-friendly question received 20:54:41.030639 Wrote request (93 bytes) input to log/23/server.input 20:54:41.030656 Identifying ourselves as friends 20:54:41.030708 Response sent (57 bytes) and written to log/23/server.response 20:54:41.030718 special request received, no persistency 20:54:41.030727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind366 ==125892== ==125892== Process terminating with default action of signal 4 (SIGILL) ==125892== Illegal opcode at address 0x4003082 ==125892== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==125892== by 0x4003082: main (tool_main.c:243) === End of file valgrind366 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/22/server/tftp_server.pid" --portfile "log/22/server/tftp_server.port" --logfile "log/22/tftp_server.log" --logdir "log/22" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 123621 port 53894 * pid tftp => 123621 123621 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/22/valgrind332 ../src/curl -q --output log/22/curl332.out --include --trace-ascii log/22/trace332 --trace-config all --trace-time tftp://127.0.0.1:53894//332 --tftp-blksize 400 > log/22/stdout332 2> log/22/stderr332 332: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind332 ../src/curl -q --output log/22/curl332.out --include --trace-ascii log/22/trace332 --trace-config all --trace-time tftp://127.0.0.1:53894//332 --tftp-blksize 400 > log/22/stdout332 2> log/22/stderr332 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 20:54:40.227588 Wrote pid 123621 to log/22/server/tftp_server.pid 20:54:40.227634 Wrote port 53894 to log/22/server/tftp_server.port 20:54:40.227647 Running IPv4 version on port UDP/53894 === End of file tftp_server.log === Start of file valgrind332 ==126198== ==126198== Process terminating with default action of signal 4 (SIGILL) ==126198== Illegal opcode at address 0x4003082 ==126198== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126198== by 0x4003082: main (tool_main.c:243) === End of file valgrind332 * 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/11/valgrind370 ../src/curl -q --output log/11/curl370.out --include --trace-ascii log/11/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/11/nowhere/etag370 > log/11/stdout370 2> log/11/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/11/ dir after test 370 === Start of file commands.log ../libtool --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/valgrind370 ../src/curl -q --output log/11/curl370.out --include --trace-ascii log/11/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/11/nowhere/etag370 > log/11/stdout370 2> log/11/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==126248== ==126248== Process terminating with default action of signal 4 (SIGILL) ==126248== Illegal opcode at address 0x4003082 ==126248== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126248== by 0x4003082: main (tool_main.c:243) === End of file valgrind370 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/19/valgrind385 ../src/curl -q --output log/19/curl385.out --include --trace-ascii log/19/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:46549/385 -H "Content-Type: drinks/hot" > log/19/stdout385 2> log/19/stderr385 385: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind385 ../src/curl -q --output log/19/curl385.out --include --trace-ascii log/19/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:46549/385 -H "Content-Type: drinks/hot" > log/19/stdout385 2> log/19/stderr385 === End of file commands.log === Start of file http_server.log 20:54:41.471560 ====> Client connect 20:54:41.471591 accept_connection 3 returned 4 20:54:41.471607 accept_connection 3 returned 0 20:54:41.471620 Read 93 bytes 20:54:41.471630 Process 93 bytes request 20:54:41.471642 Got request: GET /verifiedserver HTTP/1.1 20:54:41.471651 Are-we-friendly question received 20:54:41.471684 Wrote request (93 bytes) input to log/19/server.input 20:54:41.471699 Identifying ourselves as friends 20:54:41.471751 Response sent (57 bytes) and written to log/19/server.response 20:54:41.471760 special request received, no persistency 20:54:41.471768 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind385 ==126834== ==126834== Process terminating with default action of signal 4 (SIGILL) ==126834== Illegal opcode at address 0x4003082 ==126834== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126834== by 0x4003082: main (tool_main.c:243) === End of file valgrind385 test 0383...[HTTP with --json] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/stCMD (33792): ../libtool --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/valgrind380 ../src/curl -q --output log/12/curl380.out --include --trace-ascii log/12/trace380 --trace-config all --trace-time --netrc --netrc-file log/12/netrc380 ftp://mary@127.0.0.1:38967/ > log/12/stdout380 2> log/12/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/14/valgrind384 ../src/curl -q --output log/14/curl384.out --include --trace-ascii log/14/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:35661/384 -H "Accept: foobar/*" log/14/stdout384 2> log/14/stderr384 CMD (33792): ../libtool --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/valgrind381 ../src/curl -q --output log/10/curl381.out --include --trace-ascii log/10/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/10/netrc381 ftp://mary:drfrank@127.0.0.1:41053/ > log/10/stdout381 2> log/10/stderr381 artdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind383 ../src/curl -q --output log/7/curl383.out --include --trace-ascii log/7/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:39141/383 > log/7/stdout383 2> log/7/stderr383 383: 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 383 === Start of file commands.log ../libtool --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/valgrind383 ../src/curl -q --output log/7/curl383.out --include --trace-ascii log/7/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:39141/383 > log/7/stdout383 2> log/7/stderr383 === End of file commands.log === Start of file http_server.log 20:54:41.465668 ====> Client connect 20:54:41.465694 accept_connection 3 returned 4 20:54:41.465710 accept_connection 3 returned 0 20:54:41.465722 Read 93 bytes 20:54:41.465732 Process 93 bytes request 20:54:41.465744 Got request: GET /verifiedserver HTTP/1.1 20:54:41.465754 Are-we-friendly question received 20:54:41.465779 Wrote request (93 bytes) input to log/7/server.input 20:54:41.465795 Identifying ourselves as friends 20:54:41.465845 Response sent (57 bytes) and written to log/7/server.response 20:54:41.465855 special request received, no persistency 20:54:41.465864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind383 ==126831== ==126831== Process terminating with default action of signal 4 (SIGILL) ==126831== Illegal opcode at address 0x4003082 ==126831== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126831== by 0x4003082: main (tool_main.c:243) === End of file valgrind383 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/12/valgrind380 ../src/curl -q --output log/12/curl380.out --include --trace-ascii log/12/trace380 --trace-config all --trace-time --netrc --netrc-file log/12/netrc380 ftp://mary@127.0.0.1:38967/ > log/12/stdout380 2> log/12/stderr380 380: 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 380 === Start of file commands.log ../libtool --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/valgrind380 ../src/curl -q --output log/12/curl380.out --include --trace-ascii log/12/trace380 --trace-config all --trace-time --netrc --netrc-file log/12/netrc380 ftp://mary@127.0.0.1:38967/ > log/12/stdout380 2> log/12/stderr380 === End of file commands.log === Start of file ftp_server.log 20:54:41.191676 ====> Client connect 20:54:41.191785 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:41.191986 < "USER anonymous" 20:54:41.192015 > "331 We are happy you popped in![CR][LF]" 20:54:41.192141 < "PASS ftp@example.com" 20:54:41.192162 > "230 Welcome you silly person[CR][LF]" 20:54:41.192295 < "PWD" 20:54:41.192327 > "257 "/" is current directory[CR][LF]" 20:54:41.192644 < "EPSV" 20:54:41.192681 ====> Passive DATA channel requested by client 20:54:41.192695 DATA sockfilt for passive data channel starting... 20:54:41.194605 DATA sockfilt for passive data channel started (pid 126488) 20:54:41.194727 DATA sockfilt for passive data channel listens on port 38569 20:54:41.194762 > "229 Entering Passive Mode (|||38569|)[LF]" 20:54:41.194779 Client has been notified that DATA conn will be accepted on port 38569 20:54:41.195040 Client connects to port 38569 20:54:41.195079 ====> Client established passive DATA connection on port 38569 20:54:41.195171 < "TYPE I" 20:54:41.195209 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:41.195433 < "SIZE verifiedserver" 20:54:41.195478 > "213 18[CR][LF]" 20:54:41.195636 < "RETR verifiedserver" 20:54:41.195665 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:41.195729 =====> Closing passive DATA connection... 20:54:41.195740 Server disconnects passive DATA connection 20:54:41.195918 Server disconnected passive DATA connection 20:54:41.195937 DATA sockfilt for passive data channel quits (pid 126488) 20:54:41.196123 DATA sockfilt for passive data channel quit (pid 126488) 20:54:41.196181 =====> Closed passive DATA connection 20:54:41.196221 > "226 File transfer complete[CR][LF]" 20:54:41.239280 < "QUIT" 20:54:41.239340 > "221 bye bye baby[CR][LF]" 20:54:41.240293 MAIN sockfilt said DISC 20:54:41.240388 ====> Client disconnected 20:54:41.240728 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:41.413090 ====> Client connect 20:54:41.413301 Received DATA (on stdin) 20:54:41.413313 > 160 bytes data, server => client 20:54:41.413321 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:41.413330 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:41.413337 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:41.413395 < 16 bytes data, client => server 20:54:41.413409 'USER anonymous\r\n' 20:54:41.413535 Received DATA (on stdin) 20:54:41.413547 > 33 bytes data, server => client 20:54:41.413556 '331 We are happy you popped in!\r\n' 20:54:41.413595 < 22 bytes data, client => server 20:54:41.413606 'PASS ftp@example.com\r\n' 20:54:41.413657 Received DATA (on stdin) 20:54:41.413668 > 30 bytes data, server => client 20:54:41.413678 '230 Welcome you silly person\r\n' 20:54:41.413720 < 5 bytes data, client => server 20:54:41.413731 'PWD\r\n' 20:54:41.413917 Received DATA (on stdin) 20:54:41.413940 > 30 bytes data, server => client 20:54:41.413952 '257 "/" is current directory\r\n' 20:54:41.414032 < 6 bytes data, client => server 20:54:41.414043 'EPSV\r\n' 20:54:41.416271 Received DATA (on stdin) 20:54:41.416294 > 38 bytes data, server => client 20:54:41.416306 '229 Entering Passive Mode (|||38569|)\n' 20:54:41.416480 < 8 bytes data, client => server 20:54:41.416492 'TYPE I\r\n' 20:54:41.416724 Received DATA (on stdin) 20:54:41.416737 > 33 bytes data, server => client 20:54:41.416747 '200 I modify TYPE as you wanted\r\n' 20:54:41.416796 < 21 bytes data, client => server 20:54:41.416808 'SIZE verifiedserver\r\n' 20:54:41.416992 Received DATA (on stdin) 20:54:41.417004 > 8 bytes data, server => client 20:54:41.417014 '213 18\r\n' 20:54:41.417064 < 21 bytes data, client => server 20:54:41.417076 'RETR verifiedserver\r\n' 20:54:41.417251 Received DATA (on stdin) 20:54:41.417261 > 29 bytes data, server => client 20:54:41.417269 '150 Binary junk (18 bytes).\r\n' 20:54:41.417740 Received DATA (on stdin) 20:54:41.417753 > 28 bytes data, server => client 20:54:41.417764 '226 File transfer complete\r\n' 20:54:41.460523 < 6 bytes data, client => server 20:54:41.460556 'QUIT\r\n' 20:54:41.460860 Received DATA (on stdin) 20:54:41.460875 > 18 bytes data, server => client 20:54:41.460885 '221 bye bye baby\r\n' 20:54:41.461705 ====> Client disconnect 20:54:41.462012 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:41.415808 Running IPv4 version 20:54:41.415861 Listening on port 38569 20:54:41.415900 Wrote pid 126488 to log/12/server/ftp_sockdata.pid 20:54:41.416060 Received PING (on stdin) 20:54:41.416155 Received PORT (on stdin) 20:54:41.416448 ====> Client connect 20:54:41.417292 Received DATA (on stdin) 20:54:41.417304 > 18 bytes data, server => client 20:54:41.417312 'WE ROOLZ: 110628\r\n' 20:54:41.417330 Received DISC (on stdin) 20:54:41.417339 ====> Client forcibly disconnected 20:54:41.417452 Received QUIT (on stdin) 20:54:41.417461 quits 20:54:41.417509 ============> 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 ==126832== ==126832== Process terminating with default action of signal 4 (SIGILL) ==126832== Illegal opcode at address 0x4003082 ==126832== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126832== by 0x4003082: main (tool_main.c:243) === End of file valgrind380 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/10/valgrind381 ../src/curl -q --output log/10/curl381.out --include --trace-ascii log/10/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/10/netrc381 ftp://mary:drfrank@127.0.0.1:41053/ > log/10/stdout381 2> log/10/stderr381 381: 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 381 === Start of file commands.log ../libtool --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/valgrind381 ../src/curl -q --output log/10/curl381.out --include --trace-ascii log/10/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/10/netrc381 ftp://mary:drfrank@127.0.0.1:41053/ > log/10/stdout381 2> log/10/stderr381 === End of file commands.log === Start of file ftp_server.log 20:54:41.196294 ====> Client connect 20:54:41.196429 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:41.196698 < "USER anonymous" 20:54:41.196732 > "331 We are happy you popped in![CR][LF]" 20:54:41.197099 < "PASS ftp@example.com" 20:54:41.197127 > "230 Welcome you silly person[CR][LF]" 20:54:41.197312 < "PWD" 20:54:41.197365 > "257 "/" is current directory[CR][LF]" 20:54:41.197542 < "EPSV" 20:54:41.197570 ====> Passive DATA channel requested by client 20:54:41.197582 DATA sockfilt for passive data channel starting... 20:54:41.199339 DATA sockfilt for passive data channel started (pid 126523) 20:54:41.199425 DATA sockfilt for passive data channel listens on port 44187 20:54:41.199455 > "229 Entering Passive Mode (|||44187|)[LF]" 20:54:41.199467 Client has been notified that DATA conn will be accepted on port 44187 20:54:41.199710 Client connects to port 44187 20:54:41.199746 ====> Client established passive DATA connection on port 44187 20:54:41.199811 < "TYPE I" 20:54:41.199835 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:41.199997 < "SIZE verifiedserver" 20:54:41.200033 > "213 18[CR][LF]" 20:54:41.200234 < "RETR verifiedserver" 20:54:41.200271 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:41.200346 =====> Closing passive DATA connection... 20:54:41.200362 Server disconnects passive DATA connection 20:54:41.200428 Server disconnected passive DATA connection 20:54:41.200445 DATA sockfilt for passive data channel quits (pid 126523) 20:54:41.200683 DATA sockfilt for passive data channel quit (pid 126523) 20:54:41.200704 =====> Closed passive DATA connection 20:54:41.200726 > "226 File transfer complete[CR][LF]" 20:54:41.242482 < "QUIT" 20:54:41.242536 > "221 bye bye baby[CR][LF]" 20:54:41.242685 MAIN sockfilt said DISC 20:54:41.242715 ====> Client disconnected 20:54:41.242781 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.417714 ====> Client connect 20:54:40.417930 Received DATA (on stdin) 20:54:40.417955 > 160 bytes data, server => client 20:54:40.417967 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.417977 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.417990 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.418070 < 16 bytes data, client => server 20:54:40.418089 'USER anonymous\r\n' 20:54:40.418243 Received DATA (on stdin) 20:54:40.418254 > 33 bytes data, server => client 20:54:40.418262 '331 We are happy you popped in!\r\n' 20:54:40.418534 < 22 bytes data, client => server 20:54:40.418553 'PASS ftp@example.com\r\n' 20:54:40.418640 Received DATA (on stdin) 20:54:40.418653 > 30 bytes data, server => client 20:54:40.418664 '230 Welcome you silly person\r\n' 20:54:40.418716 < 5 bytes data, client => server 20:54:40.418728 'PWD\r\n' 20:54:40.418867 Received DATA (on stdin) 20:54:40.418886 > 30 bytes data, server => client 20:54:40.418897 '257 "/" is current directory\r\n' 20:54:40.418956 < 6 bytes data, client => server 20:54:40.418967 'EPSV\r\n' 20:54:40.420978 Received DATA (on stdin) 20:54:40.420989 > 38 bytes data, server => client 20:54:40.420997 '229 Entering Passive Mode (|||44187|)\n' 20:54:40.421114 < 8 bytes data, client => server 20:54:40.421188 'TYPE I\r\n' 20:54:40.421348 Received DATA (on stdin) 20:54:40.421361 > 33 bytes data, server => client 20:54:40.421371 '200 I modify TYPE as you wanted\r\n' 20:54:40.421421 < 21 bytes data, client => server 20:54:40.421433 'SIZE verifiedserver\r\n' 20:54:40.421559 Received DATA (on stdin) 20:54:40.421583 > 8 bytes data, server => client 20:54:40.421593 '213 18\r\n' 20:54:40.421660 < 21 bytes data, client => server 20:54:40.421672 'RETR verifiedserver\r\n' 20:54:40.421765 Received DATA (on stdin) 20:54:40.421776 > 29 bytes data, server => client 20:54:40.421786 '150 Binary junk (18 bytes).\r\n' 20:54:40.422245 Received DATA (on stdin) 20:54:40.422370 > 28 bytes data, server => client 20:54:40.422386 '226 File transfer complete\r\n' 20:54:40.463825 < 6 bytes data, client => server 20:54:40.463848 'QUIT\r\n' 20:54:40.464052 Received DATA (on stdin) 20:54:40.464068 > 18 bytes data, server => client 20:54:40.464078 '221 bye bye baby\r\n' 20:54:40.464149 ====> Client disconnect 20:54:40.464293 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:41.420699 Running IPv4 version 20:54:41.420757 Listening on port 44187 20:54:41.420789 Wrote pid 126523 to log/10/server/ftp_sockdata.pid 20:54:41.420805 Received PING (on stdin) 20:54:41.420870 Received PORT (on stdin) 20:54:41.421092 ====> Client connect 20:54:41.421842 Received DATA (on stdin) 20:54:41.421861 > 18 bytes data, server => client 20:54:41.421872 'WE ROOLZ: 110827\r\n' 20:54:41.421902 Received DISC (on stdin) 20:54:41.421913 ====> Client forcibly disconnected 20:54:41.421992 Received QUIT (on stdin) 20:54:41.422005 quits 20:54:41.422059 ============> 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 ==126830== ==126830== Process terminating with default action of signal 4 (SIGILL) ==126830== 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/4/valgrind387 ../src/curl -q --output log/4/curl387.out --include --trace-ascii log/4/trace387 --trace-config all --trace-time http://127.0.0.1:35779/387 -sS --tr-encoding > log/4/stdout387 2> log/4/stderr387 ss 0x4003082 ==126830== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126830== by 0x4003082: main (tool_main.c:243) === 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/14/valgrind384 ../src/curl -q --output log/14/curl384.out --include --trace-ascii log/14/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:35661/384 -H "Accept: foobar/*" log/14/stdout384 2> log/14/stderr384 384: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind384 ../src/curl -q --output log/14/curl384.out --include --trace-ascii log/14/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:35661/384 -H "Accept: foobar/*" log/14/stdout384 2> log/14/stderr384 === End of file commands.log === Start of file http_server.log 20:54:41.468374 ====> Client connect 20:54:41.468403 accept_connection 3 returned 4 20:54:41.468421 accept_connection 3 returned 0 20:54:41.468435 Read 93 bytes 20:54:41.468445 Process 93 bytes request 20:54:41.468458 Got request: GET /verifiedserver HTTP/1.1 20:54:41.468467 Are-we-friendly question received 20:54:41.468489 Wrote request (93 bytes) input to log/14/server.input 20:54:41.468504 Identifying ourselves as friends 20:54:41.468552 Response sent (57 bytes) and written to log/14/server.response 20:54:41.468561 special request received, no persistency 20:54:41.468570 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file stdin-for-384 { "drink": "coffe" } === End of file stdin-for-384 === Start of file valgrind384 ==126829== ==126829== Process terminating with default action of signal 4 (SIGILL) ==126829== Illegal opcode at address 0x4003082 ==126829== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126829== by 0x4003082: main (tool_main.c:243) === 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/15/valgrind371 ../src/curl -q --output log/15/curl371.out --include --trace-ascii log/15/trace371 --trace-config all --trace-time http://127.0.0.1:39051/371 -o log/15/dump -o log/15/dump2 --no-progress-meter > log/15/stdout371 2> log/15/stderr371 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/4/valgrind387 ../src/curl -q --output log/4/curl387.out --include --trace-ascii log/4/trace387 --trace-config all --trace-time http://127.0.0.1:35779/387 -sS --tr-encoding > log/4/stdout387 2> log/4/stderr387 387: stderr FAILED: --- log/4/check-expected 2025-06-04 20:54:41.779698226 +0000 +++ log/4/check-generated 2025-06-04 20:54:41.779698226 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/4/ 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 commands.log ../libtool --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/valgrind387 ../src/curl -q --output log/4/curl387.out --include --trace-ascii log/4/trace387 --trace-config all --trace-time http://127.0.0.1:35779/387 -sS --tr-encoding > log/4/stdout387 2> log/4/stderr387 === End of file commands.log === Start of file http_server.log 20:54:41.506227 ====> Client connect 20:54:41.506258 accept_connection 3 returned 4 20:54:41.506275 accept_connection 3 returned 0 20:54:41.506289 Read 93 bytes 20:54:41.506298 Process 93 bytes request 20:54:41.506310 Got request: GET /verifiedserver HTTP/1.1 20:54:41.506319 Are-we-friendly question received 20:54:41.506341 Wrote request (93 bytes) input to log/4/server.input 20:54:41.506361 Identifying ourselves as friends 20:54:41.506412 Response sent (57 bytes) and written to log/4/server.response 20:54:41.506421 special request received, no persistency 20:54:41.506429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind387 ==127087== ==127087== Process terminating with default action of signal 4 (SIGILL) ==127087== Illegal opcode at address 0x4003082 ==127087== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127087== by 0x4003082: main (tool_main.c:243) === End of file valgrind387 CMD (33792): ../libtool --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/valgrind378 ../src/curl -q --output log/3/curl378.out --include --trace-ascii log/3/trace378 --trace-config all --trace-time -T log/3/378 -d input http://never-accessed > log/3/stdout378 2> log/3/stderr378 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/15/valgrind371 ../src/curl -q --output log/15/curl371.out --include --trace-ascii log/15/trace371 --trace-config all --trace-time http://127.0.0.1:39051/371 -o log/15/dump -o log/15/dump2 --no-progress-meter > log/15/stdout371 2> log/15/stderr371 371: stderr FAILED: --- log/15/check-expected 2025-06-04 20:54:41.786364893 +0000 +++ log/15/check-generated 2025-06-04 20:54:41.786364893 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/15/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind371 ../src/curl -q --output log/15/curl371.out --include --trace-ascii log/15/trace371 --trace-config all --trace-time http://127.0.0.1:39051/371 -o log/15/dump -o log/15/dump2 --no-progress-meter > log/15/stdout371 2> log/15/stderr371 === End of file commands.log === Start of file http_server.log 20:54:41.370042 ====> Client connect 20:54:41.370076 accept_connection 3 returned 4 20:54:41.370093 accept_connection 3 returned 0 20:54:41.370106 Read 93 bytes 20:54:41.370116 Process 93 bytes request 20:54:41.370128 Got request: GET /verifiedserver HTTP/1.1 20:54:41.370137 Are-we-friendly question received 20:54:41.370159 Wrote request (93 bytes) input to log/15/server.input 20:54:41.370174 Identifying ourselves as friends 20:54:41.370237 Response sent (57 bytes) and written to log/15/server.response 20:54:41.370247 special request received, no persistency 20:54:41.370256 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind371 ==126337== ==126337== Process terminating with default action of signal 4 (SIGILL) ==126337== Illegal opcode at address 0x4003082 ==126337== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126337== by 0x4003082: main (tool_main.c:243) === End of file valgrind371 CMD (33792): ../libtool --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/valgrind373 ../src/curl -q --output log/6/curl373.out --include --trace-ascii log/6/trace373 --trace-config all --trace-time http://127.0.0.1:38475/chunked-transfer-encoding/373 > log/6/stdout373 2> log/6/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/16/valgrind374 ../src/curl -q --output log/16/curl374.out --include --trace-ascii log/16/trace374 --trace-config all --trace-time http://127.0.0.1:33409/gif/374 > log/16/stdout374 2> log/16/stderr374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind372 ../src/curl -q --output log/17/curl372.out --include --trace-ascii log/17/trace372 --trace-config all --trace-time --raw http://127.0.0.1:35207/binary-zero-in-data-section/372 > log/17/stdout372 2> log/17/stderr372 * 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/3/valgrind378 ../src/curl -q --output log/3/curl378.out --include --trace-ascii log/3/trace378 --trace-config all --trace-time -T log/3/378 -d input http://never-accessed > log/3/stdout378 2> log/3/stderr378 378: stderr FAILED: --- log/3/check-expected 2025-06-04 20:54:41.803031560 +0000 +++ log/3/check-generated 2025-06-04 20:54:41.803031560 +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/3/ 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 commands.log ../libtool --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/valgrind378 ../src/curl -q --output log/3/curl378.out --include --trace-ascii log/3/trace378 --trace-config all --trace-time -T log/3/378 -d input http://never-accessed > log/3/stdout378 2> log/3/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==126391== ==126391== Process terminating with default action of signal 4 (SIGILL) ==126391== Illegal opcode at address 0x4003082 ==126391== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126391== by 0x4003082: main (tool_main.c:243) === End of file valgrind378 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/6/valgrind373 ../src/curl -q --output log/6/curl373.out --include --trace-ascii log/6/trace373 --trace-config all --trace-time http://127.0.0.1:38475/chunked-transfer-encoding/373 > log/6/stdout373 2> log/6/stderr373 373: 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 373 === Start of file commands.log ../libtool --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/valgrind373 ../src/curl -q --output log/6/curl373.out --include --trace-ascii log/6/trace373 --trace-config all --trace-time http://127.0.0.1:38475/chunked-transfer-encoding/373 > log/6/stdout373 2> log/6/stderr373 === End of file commands.log === Start of file http_server.log 20:54:41.398756 ====> Client connect 20:54:41.398788 accept_connection 3 returned 4 20:54:41.398807 accept_connection 3 returned 0 20:54:41.398823 Read 93 bytes 20:54:41.398833 Process 93 bytes request 20:54:41.398845 Got request: GET /verifiedserver HTTP/1.1 20:54:41.398854 Are-we-friendly question received 20:54:41.398876 Wrote request (93 bytes) input to log/6/server.input 20:54:41.398891 Identifying ourselves as friends 20:54:41.398964 Response sent (57 bytes) and written to log/6/server.response 20:54:41.398974 special request received, no persistency 20:54:41.398983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind373 ==126481== ==126481== Process terminating with default action of signal 4 (SIGILL) ==126481== Illegal opcode at address 0x4003082 ==126481== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126481== by 0x4003082: main (tool_main.c:243) === 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/16/valgrind374 ../src/curl -q --output log/16/curl374.out --include --trace-ascii log/16/trace374 --trace-config all --trace-time http://127.0.0.1:33409/gif/374 > log/16/stdout374 2> log/16/stderr374 374: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind374 ../src/curl -q --output log/16/curl374.out --include --trace-ascii log/16/trace374 --trace-config all --trace-time http://127.0.0.1:33409/gif/374 > log/16/stdout374 2> log/16/stderr374 === End of file commands.log === Start of file http_server.log 20:54:41.404212 ====> Client connect 20:54:41.404234 accept_connection 3 returned 4 20:54:41.404248 accept_connection 3 returned 0 20:54:41.404258 Read 93 bytes 20:54:41.404266 Process 93 bytes request 20:54:41.404274 Got request: GET /verifiedserver HTTP/1.1 20:54:41.404282 Are-we-friendly question received 20:54:41.404299 Wrote request (93 bytes) input to log/16/server.input 20:54:41.404311 Identifying ourselves as friends 20:54:41.404351 Response sent (57 bytes) and written to log/16/server.response 20:54:41.404358 special request received, no persistency 20:54:41.404365 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind374 ==126485== ==126485== Process terminating with default action of signal 4 (SIGILL) ==126485== Illegal opcode at address 0x4003082 ==126485== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126485== by 0x4003082: main (tool_main.c:243) === End of file valgrind374 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/17/valgrind372 ../src/curl -q --output log/17/curl372.out --include --trace-ascii log/17/trace372 --trace-config all --trace-time --raw http://127.0.0.1:35207/binary-zero-in-data-section/372 > log/17/stdout372 2> log/17/stderr372 372: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.suCMD (33792): ../libtool --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/valgrind386 ../src/curl -q --output log/2/curl386.out --include --trace-ascii log/2/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:43815/386 --next http://127.0.0.1:43815/3860002 > log/2/stdout386 2> log/2/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/24/valgrind379 ../src/curl -q --include --trace-ascii log/24/trace379 --trace-config all --trace-time http://127.0.0.1:45957/379 -o log/24/save --remove-on-error --no-clobber > log/24/stdout379 2> log/24/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/9/valgrind376 ../src/curl -q --include --trace-ascii log/9/trace376 --trace-config all --trace-time http://127.0.0.1:46863/376 -o log/9/save-376 --remove-on-error > log/9/stdout376 2> log/9/stderr376 pp --num-callers=16 --log-file=log/17/valgrind372 ../src/curl -q --output log/17/curl372.out --include --trace-ascii log/17/trace372 --trace-config all --trace-time --raw http://127.0.0.1:35207/binary-zero-in-data-section/372 > log/17/stdout372 2> log/17/stderr372 === End of file commands.log === Start of file http_server.log 20:54:41.390611 ====> Client connect 20:54:41.390648 accept_connection 3 returned 4 20:54:41.390666 accept_connection 3 returned 0 20:54:41.390681 Read 93 bytes 20:54:41.390690 Process 93 bytes request 20:54:41.390703 Got request: GET /verifiedserver HTTP/1.1 20:54:41.390713 Are-we-friendly question received 20:54:41.390738 Wrote request (93 bytes) input to log/17/server.input 20:54:41.390754 Identifying ourselves as friends 20:54:41.390815 Response sent (57 bytes) and written to log/17/server.response 20:54:41.390825 special request received, no persistency 20:54:41.390834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind372 ==126434== ==126434== Process terminating with default action of signal 4 (SIGILL) ==126434== Illegal opcode at address 0x4003082 ==126434== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126434== by 0x4003082: main (tool_main.c:243) === End of file valgrind372 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/2/valgrind386 ../src/curl -q --output log/2/curl386.out --include --trace-ascii log/2/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:43815/386 --next http://127.0.0.1:43815/3860002 > log/2/stdout386 2> log/2/stderr386 386: 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 386 === Start of file commands.log ../libtool --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/valgrind386 ../src/curl -q --output log/2/curl386.out --include --trace-ascii log/2/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:43815/386 --next http://127.0.0.1:43815/3860002 > log/2/stdout386 2> log/2/stderr386 === End of file commands.log === Start of file http_server.log 20:54:41.472656 ====> Client connect 20:54:41.472690 accept_connection 3 returned 4 20:54:41.472708 accept_connection 3 returned 0 20:54:41.472722 Read 93 bytes 20:54:41.472732 Process 93 bytes request 20:54:41.472744 Got request: GET /verifiedserver HTTP/1.1 20:54:41.472754 Are-we-friendly question received 20:54:41.472778 Wrote request (93 bytes) input to log/2/server.input 20:54:41.472794 Identifying ourselves as friends 20:54:41.472847 Response sent (57 bytes) and written to log/2/server.response 20:54:41.472857 special request received, no persistency 20:54:41.472867 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind386 ==126836== ==126836== Process terminating with default action of signal 4 (SIGILL) ==126836== Illegal opcode at address 0x4003082 ==126836== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126836== by 0x4003082: main (tool_main.c:243) === End of file valgrind386 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/9/valgrind376 ../src/curl -q --include --trace-ascii log/9/trace376 --trace-config all --trace-time http://127.0.0.1:46863/376 -o log/9/save-376 --remove-on-error > log/9/stdout376 2> log/9/stderr376 376: 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 376 === Start of file commands.log ../libtool --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/valgrind376 ../src/curl -q --include --trace-ascii log/9/trace376 --trace-config all --trace-time http://127.0.0.1:46863/376 -o log/9/save-376 --remove-on-error > log/9/stdout376 2> log/9/stderr376 === End of file commands.log === Start of file http_server.log 20:54:41.406815 ====> Client connect 20:54:41.407034 accept_connection 3 returned 4 20:54:41.407057 accept_connection 3 returned 0 20:54:41.407072 Read 93 bytes 20:54:41.407081 Process 93 bytes request 20:54:41.407093 Got request: GET /verifiedserver HTTP/1.1 20:54:41.407103 Are-we-friendly question received 20:54:41.407128 Wrote request (93 bytes) input to log/9/server.input 20:54:41.407143 Identifying ourselves as friends 20:54:41.407213 Response sent (57 bytes) and written to log/9/server.response 20:54:41.407223 special request received, no persistency 20:54:41.407232 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind376 ==126518== ==126518== Process terminating with default action of signal 4 (SIGILL) ==126518== Illegal opcode at address 0x4003082 ==126518== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126518== by 0x4003082: main (tool_main.c:243) === 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/24/valgrind379 ../src/curl -q --include --trace-ascii log/24/trace379 --trace-config all --trace-time http://127.0.0.1:45957/379 -o log/24/save --remove-on-error --no-clobber > log/24/stdout379 2> log/24/stderr379 379: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 379 === Start of file commands.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind388 ../src/curl -q --include --trace-ascii log/18/trace388 --trace-config all --trace-time http://127.0.0.1:34637/3880001 -u testuser:testpass --digest http://127.0.0.1:34637/3880002 > log/18/stdout388 2> log/18/stderr388 log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind379 ../src/curl -q --include --trace-ascii log/24/trace379 --trace-config all --trace-time http://127.0.0.1:45957/379 -o log/24/save --remove-on-error --no-clobber > log/24/stdout379 2> log/24/stderr379 === End of file commands.log === Start of file http_server.log 20:54:41.408391 ====> Client connect 20:54:41.408419 accept_connection 3 returned 4 20:54:41.408436 accept_connection 3 returned 0 20:54:41.408448 Read 93 bytes 20:54:41.408458 Process 93 bytes request 20:54:41.408468 Got request: GET /verifiedserver HTTP/1.1 20:54:41.408478 Are-we-friendly question received 20:54:41.408498 Wrote request (93 bytes) input to log/24/server.input 20:54:41.408513 Identifying ourselves as friends 20:54:41.408560 Response sent (57 bytes) and written to log/24/server.response 20:54:41.408569 special request received, no persistency 20:54:41.408577 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind379 ==126535== ==126535== Process terminating with default action of signal 4 (SIGILL) ==126535== Illegal opcode at address 0x4003082 ==126535== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==126535== by 0x4003082: main (tool_main.c:243) === End of file valgrind379 CMD (33792): ../libtool --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/valgrind389 ../src/curl -q --output log/8/curl389.out --include --trace-ascii log/8/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:35791/389 > log/8/stdout389 2> log/8/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/23/valgrind393 ../src/curl -q --output log/23/curl393.out --include --trace-ascii log/23/trace393 --trace-config all --trace-time http://127.0.0.1:38539/393 --max-filesize 2000000 > log/23/stdout393 2> log/23/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/18/valgrind388 ../src/curl -q --include --trace-ascii log/18/trace388 --trace-config all --trace-time http://127.0.0.1:34637/3880001 -u testuser:testpass --digest http://127.0.0.1:34637/3880002 > log/18/stdout388 2> log/18/stderr388 388: stdout FAILED: --- log/18/check-expected 2025-06-04 20:54:41.869698228 +0000 +++ log/18/check-generated 2025-06-04 20:54:41.869698228 +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/18/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind388 ../src/curl -q --include --trace-ascii log/18/trace388 --trace-config all --trace-time http://127.0.0.1:34637/3880001 -u testuser:testpass --digest http://127.0.0.1:34637/3880002 > log/18/stdout388 2> log/18/stderr388 === End of file commands.log === Start of file http_server.log 20:54:41.515100 ====> Client connect 20:54:41.515137 accept_connection 3 returned 4 20:54:41.515156 accept_connection 3 returned 0 20:54:41.515172 Read 93 bytes 20:54:41.515184 Process 93 bytes request 20:54:41.515198 Got request: GET /verifiedserver HTTP/1.1 20:54:41.515207 Are-we-friendly question received 20:54:41.515232 Wrote request (93 bytes) input to log/18/server.input 20:54:41.515251 Identifying ourselves as friends 20:54:41.515309 Response sent (57 bytes) and written to log/18/server.response 20:54:41.515321 special request received, no persistency 20:54:41.515330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind388 ==127174== ==127174== Process terminating with default action of signal 4 (SIGILL) ==127174== Illegal opcode at address 0x4003082 ==127174== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127174== by 0x4003082: main (tool_main.c:243) === 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/8/valgrind389 ../src/curl -q --output log/8/curl389.out --include --trace-ascii log/8/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:35791/389 > log/8/stdout389 2> log/8/stderr389 389: 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 389 === Start of file commands.log ../libtool --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/valgrind389 ../src/curl -q --output log/8/curl389.out --include --trace-ascii log/8/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:35791/389 > log/8/stdout389 2> log/8/stderr389 === End of file commands.log === Start of file http_server.log 20:54:41.641846 ====> Client connect 20:54:41.641884 accept_connection 3 returned 4 20:54:41.641904 accept_connection 3 returned 0 20:54:41.641918 Read 93 bytes 20:54:41.641929 Process 93 bytes request 20:54:41.641942 Got request: GET /verifiedserver HTTP/1.1 20:54:41.641952 Are-we-friendly question received 20:54:41.641976 Wrote request (93 bytes) input to log/8/server.input 20:54:41.641992 Identifying ourselves as friends 20:54:41.642336 Response sent (57 bytes) and written to log/8/server.response 20:54:41.642349 special request received, no persistency 20:54:41.642359 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind389 ==127326== ==127326== Process terminating with default action of signal 4 (SIGILL) ==127326== Illegal opcode at address 0x4003082 ==127326== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127326== by 0x4003082: main (tool_main.c:243) === End of file valgrind389 test 0393...[HTTP max-filesize and out-of-range CMD (33792): ../libtool --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/valgrind392 ../src/curl -q --output log/5/curl392.out --include --trace-ascii log/5/trace392 --trace-config all --trace-time -4 http://localhost:33725/392 -b none http://localhost:33725/392 > log/5/stdout392 2> log/5/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/21/valgrind394 ../src/curl -q --output log/21/curl394.out --include --trace-ascii log/21/trace394 --trace-config all --trace-time http://127.0.0.1:36793/394 > log/21/stdout394 2> log/21/stderr394 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/23/valgrind393 ../src/curl -q --output log/23/curl393.out --include --trace-ascii log/23/trace393 --trace-config all --trace-time http://127.0.0.1:38539/393 --max-filesize 2000000 > log/23/stdout393 2> log/23/stderr393 393: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind393 ../src/curl -q --output log/23/curl393.out --include --trace-ascii log/23/trace393 --trace-config all --trace-time http://127.0.0.1:38539/393 --max-filesize 2000000 > log/23/stdout393 2> log/23/stderr393 === End of file commands.log === Start of file http_server.log 20:54:41.674692 ====> Client connect 20:54:41.674722 accept_connection 3 returned 4 20:54:41.674740 accept_connection 3 returned 0 20:54:41.674753 Read 93 bytes 20:54:41.674762 Process 93 bytes request 20:54:41.674773 Got request: GET /verifiedserver HTTP/1.1 20:54:41.674782 Are-we-friendly question received 20:54:41.674806 Wrote request (93 bytes) input to log/23/server.input 20:54:41.674821 Identifying ourselves as friends 20:54:41.674874 Response sent (57 bytes) and written to log/23/server.response 20:54:41.674884 special request received, no persistency 20:54:41.674893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind393 ==127422== ==127422== Process terminating with default action of signal 4 (SIGILL) ==127422== Illegal opcode at address 0x4003082 ==127422== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127422== by 0x4003082: main (tool_main.c:243) === End of file valgrind393 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/5/valgrind392 ../src/curl -q --output log/5/curl392.out --include --trace-ascii log/5/trace392 --trace-config all --trace-time -4 http://localhost:33725/392 -b none http://localhost:33725/392 > log/5/stdout392 2> log/5/stderr392 392: 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 392 === Start of file commands.log ../libtool --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/valgrind392 ../src/curl -q --output log/5/curl392.out --include --trace-ascii log/5/trace392 --trace-config all --trace-time -4 http://localhost:33725/392 -b none http://localhost:33725/392 > log/5/stdout392 2> log/5/stderr392 === End of file commands.log === Start of file http_server.log 20:54:41.670410 ====> Client connect 20:54:41.670445 accept_connection 3 returned 4 20:54:41.670461 accept_connection 3 returned 0 20:54:41.670473 Read 93 bytes 20:54:41.670482 Process 93 bytes request 20:54:41.670492 Got request: GET /verifiedserver HTTP/1.1 20:54:41.670500 Are-we-friendly question received 20:54:41.670549 Wrote request (93 bytes) input to log/5/server.input 20:54:41.670563 Identifying ourselves as friends 20:54:41.670612 Response sent (57 bytes) and written to log/5/server.response 20:54:41.670622 special request received, no persistency 20:54:41.670630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind392 ==127408== ==127408== Process terminating with default action of signal 4 (SIGILL) ==127408== Illegal opcode at address 0x4003082 ==127408== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127408== by 0x4003082: main (tool_main.c:243) === End of file valgrind392 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/21/valgrind394 ../src/curl -q --output log/21/curl394.out --include --trace-ascii log/21/trace394 --trace-config all --trace-time http://127.0.0.1:36793/394 > log/21/stdout394 2> log/21/stderr394 394: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 394 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind394 ../src/curl -q --output log/21/curl394.out --include --trace-ascii log/21/trace394 --trace-config all --trace-time http://127.0.0.1:36793/394 > log/21/stdout394 2> log/21/stderr394 === End of file commands.log === Start of file http_server.log 20:54:41.670018 ====> Client connect 20:54:41.670049 accept_connection 3 returned 4 20:54:41.670067 accept_connection 3 returned 0 20:54:41.670081 Read 93 bytes 20:54:41.670092 Process 93 bytes request 20:54:41.670105 Got request: GET /verifiedserver HTTP/1.1 20:54:41.670114 Are-we-friendly question received 20:54:41.670140 Wrote request (93 bytes) input to log/21/server.input 20:54:41.670156 Identifying ourselves as friends 20:54:41.670238 Response sent (57 bytes) and written to log/21/server.response 20:54:41.670250 special request received, no persistency 20:54:41.670259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind394 ==127409== ==127409== Process terminating with default action of signal 4 (SIGILL) ==127409== Illegal opcode at address 0x4003082 ==127409== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127409== 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/20/valgrind391 ../src/curl -q --output log/20/curl391.out --include --trace-ascii log/20/trace391 --trace-config all --trace-time http://127.0.0.1:41293/../../391 --path-as-is -L > log/20/stdout391 2> log/20/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/1/valgrind390 ../src/curl -q --include --trace-ascii log/1/trace390 --trace-config all --trace-time http://127.0.0.1:42503/390 file://localhost/startdir/src/build-curl/tests/log/1/test390.txt ftp://127.0.0.1:33539/3900002 --parallel -o log/1/390.a -o log/1/390.b -o log/1/390.c > log/1/stdout390 2> log/1/stderr390 0x4003082: main (tool_main.c:243) === End of file valgrind394 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/20/valgrind391 ../src/curl -q --output log/20/curl391.out --include --trace-ascii log/20/trace391 --trace-config all --trace-time http://127.0.0.1:41293/../../391 --path-as-is -L > log/20/stdout391 2> log/20/stderr391 391: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind391 ../src/curl -q --output log/20/curl391.out --include --trace-ascii log/20/trace391 --trace-config all --trace-time http://127.0.0.1:41293/../../391 --path-as-is -L > log/20/stdout391 2> log/20/stderr391 === End of file commands.log === Start of file http_server.log 20:54:41.672256 ====> Client connect 20:54:41.672284 accept_connection 3 returned 4 20:54:41.672300 accept_connection 3 returned 0 20:54:41.672314 Read 93 bytes 20:54:41.672323 Process 93 bytes request 20:54:41.672334 Got request: GET /verifiedserver HTTP/1.1 20:54:41.672343 Are-we-friendly question received 20:54:41.672364 Wrote request (93 bytes) input to log/20/server.input 20:54:41.672380 Identifying ourselves as friends 20:54:41.672430 Response sent (57 bytes) and written to log/20/server.response 20:54:41.672439 special request received, no persistency 20:54:41.672448 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind391 ==127438== ==127438== Process terminating with default action of signal 4 (SIGILL) ==127438== Illegal opcode at address 0x4003082 ==127438== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127438== by 0x4003082: main (tool_main.c:243) === 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/1/valgrind390 ../src/curl -q --include --trace-ascii log/1/trace390 --trace-config all --trace-time http://127.0.0.1:42503/390 file://localhost/startdir/src/build-curl/tests/log/1/test390.txt ftp://127.0.0.1:33539/3900002 --parallel -o log/1/390.a -o log/1/390.b -o log/1/390.c > log/1/stdout390 2> log/1/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/1/ dir after test 390 === Start of file commands.log ../libtool --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/valgrind390 ../src/curl -q --include --trace-ascii log/1/trace390 --trace-config all --trace-time http://127.0.0.1:42503/390 file://localhost/startdir/src/build-curl/tests/log/1/test390.txt ftp://127.0.0.1:33539/3900002 --parallel -o log/1/390.a -o log/1/390.b -o log/1/390.c > log/1/stdout390 2> log/1/stderr390 === End of file commands.log === Start of file ftp_server.log 20:54:41.465794 ====> Client connect 20:54:41.465943 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:41.466184 < "USER anonymous" 20:54:41.466218 > "331 We are happy you popped in![CR][LF]" 20:54:41.466344 < "PASS ftp@example.com" 20:54:41.466366 > "230 Welcome you silly person[CR][LF]" 20:54:41.466511 < "PWD" 20:54:41.466544 > "257 "/" is current directory[CR][LF]" 20:54:41.466712 < "EPSV" 20:54:41.466739 ====> Passive DATA channel requested by client 20:54:41.466753 DATA sockfilt for passive data channel starting... 20:54:41.468951 DATA sockfilt for passive data channel started (pid 127425) 20:54:41.469069 DATA sockfilt for passive data channel listens on port 34523 20:54:41.469110 > "229 Entering Passive Mode (|||34523|)[LF]" 20:54:41.469125 Client has been notified that DATA conn will be accepted on port 34523 20:54:41.469367 Client connects to port 34523 20:54:41.469396 ====> Client established passive DATA connection on port 34523 20:54:41.469477 < "TYPE I" 20:54:41.469509 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:41.469735 < "SIZE verifiedserver" 20:54:41.469779 > "213 18[CR][LF]" 20:54:41.469986 < "RETR verifiedserver" 20:54:41.470023 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:41.470105 =====> Closing passive DATA connection... 20:54:41.470119 Server disconnects passive DATA connection 20:54:41.470411 Server disconnected passive DATA connection 20:54:41.470437 DATA sockfilt for passive data channel quits (pid 127425) 20:54:41.470733 DATA sockfilt for passive data channel quit (pid 127425) 20:54:41.470757 =====> Closed passive DATA connection 20:54:41.470783 > "226 File transfer complete[CR][LF]" 20:54:41.513102 < "QUIT" 20:54:41.513160 > "221 bye bye baby[CR][LF]" 20:54:41.514200 MAIN sockfilt said DISC 20:54:41.514234 ====> Client disconnected 20:54:41.514300 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:41.687205 ====> Client connect 20:54:41.687471 Received DATA (on stdin) 20:54:41.687488 > 160 bytes data, server => client 20:54:41.687500 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:41.687509 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:41.687517 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:41.687590 < 16 bytes data, client => server 20:54:41.687603 'USER anonymous\r\n' 20:54:41.687730 Received DATA (on stdin) 20:54:41.687741 > 33 bytes data, server => client 20:54:41.687749 '331 We are happy you popped in!\r\n' 20:54:41.687791 < 22 bytes data, client => server 20:54:41.687804 'PASS ftp@example.com\r\n' 20:54:41.687861 Received DATA (on stdin) 20:54:41.687872 > 30 bytes data, server => client 20:54:41.687882 '230 Welcome you silly person\r\n' 20:54:41.687927 < 5 bytes data, client => server 20:54:41.687939 'PWD\r\n' 20:54:41.688059 Received DATA (on stdin) 20:54:41.688072 > 30 bytes data, server => client 20:54:41.688083 '257 "/" is current directory\r\n' 20:54:41.688140 < 6 bytes data, client => server 20:54:41.688153 'EPSV\r\n' 20:54:41.690646 Received DATA (on stdin) 20:54:41.690663 > 38 bytes data, server => client 20:54:41.690674 '229 Entering Passive Mode (|||34523|)\n' 20:54:41.690831 < 8 bytes data, client => server 20:54:41.690852 'TYPE I\r\n' 20:54:41.691025 Received DATA (on stdin) 20:54:41.691041 > 33 bytes data, server => client 20:54:41.691052 '200 I modify TYPE as you wanted\r\n' 20:54:41.691128 < 21 bytes data, client => server 20:54:41.691151 'SIZE verifiedserver\r\n' 20:54:41.691295 Received DATA (on stdin) 20:54:41.691307 > 8 bytes data, server => client 20:54:41.691317 '213 18\r\n' 20:54:41.691404 < 21 bytes data, client => server 20:54:41.691423 'RETR verifiedserver\r\n' 20:54:41.691634 Received DATA (on stdin) 20:54:41.691646 > 29 bytes data, server => client 20:54:41.691656 '150 Binary junk (18 bytes).\r\n' 20:54:41.692298 Received DATA (on stdin) 20:54:41.692311 > 28 bytes data, server => client 20:54:41.692321 '226 File transfer complete\r\n' 20:54:41.734451 < 6 bytes data, client => server 20:54:41.734473 'QUIT\r\n' 20:54:41.734682 Received DATA (on stdin) 20:54:41.734699 > 18 bytes data, server => client 20:54:41.734710 '221 bye bye baby\r\n' 20:54:41.735657 ====> Client disconnect 20:54:41.735812 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:41.689939 Running IPv4 version 20:54:41.690003 Listening on port 34523 20:54:41.690039 Wrote pid 127425 to log/1/server/ftp_sockdata.pid 20:54:41.690403 Received PING (on stdin) 20:54:41.690496 Received PORT (on stdin) 20:54:41.690830 ====> Client connect 20:54:41.691752 Received DATA (on stdin) 20:54:41.691772 > 18 bytes data, server => client 20:54:41.691782 'WE ROOLZ: 110705\r\n' 20:54:41.691809 Received DISC (on stdin) 20:54:41.691821 ====> Client forcibly disconnected 20:54:41.692022 Received QUIT (on stdin) 20:54:41.692036 quits 20:54:41.692090 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 20:54:41.659934 ====> Client connect 20:54:41.659964 accept_connection 3 returned 4 20:54:41.659981 accept_connection 3 returned 0 20:54:41.659995 Read 93 bytes 20:54:41.660004 Process 93 bytes request 20:54:41.660016 Got request: GET /verifiedserver HTTP/1.1 20:54:41.660025 Are-we-friendly question received 20:54:41.660045 Wrote request (93 bytes) input to log/1/server.input 20:54:41.660060 Identifying ourselves as friends 20:54:41.660126 Response sent (57 bytes) and written to log/1/server.response 20:54:41.660135 special request received, no persistency 20:54:41.660143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === 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!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind395 ../src/curl -q --output log/22/curl395.out --include --trace-ascii log/22/trace395 --trace-config all --trace-time http://127.0.0.1:44239/395 > log/22/stdout395 2> log/22/stderr395 CMD (33792): ../libtool --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/valgrind396 ../src/curl -q --output log/11/curl396.out --include --trace-ascii log/11/trace396 --trace-config all --trace-time http://127.0.0.1:44265/396 --compressed > log/11/stdout396 2> log/11/stderr396 !hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!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 ==127617== ==127617== Process terminating with default action of signal 4 (SIGILL) ==127617== Illegal opcode at address 0x4003082 ==127617== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127617== by 0x4003082: main (tool_main.c:243) === End of file valgrind390 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/22/valgrind395 ../src/curl -q --output log/22/curl395.out --include --trace-ascii log/22/trace395 --trace-config all --trace-time http://127.0.0.1:44239/395 > log/22/stdout395 2> log/22/stderr395 395: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 395 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind395 ../src/curl -q --output log/22/curl395.out --include --trace-ascii log/22/trace395 --trace-config all --trace-time http://127.0.0.1:44239/395 > log/22/stdout395 2> log/22/stderr395 === End of file commands.log === Start of file http_server.log 20:54:41.785472 ====> Client connect 20:54:41.785503 accept_connection 3 returned 4 20:54:41.785520 accept_connection 3 returned 0 20:54:41.785533 Read 93 bytes 20:54:41.785542 Process 93 bytes request 20:54:41.785555 Got request: GET /verifiedserver HTTP/1.1 20:54:41.785564 Are-we-friendly question received 20:54:41.785587 Wrote request (93 bytes) input to log/22/server.input 20:54:41.785602 Identifying ourselves as friends 20:54:41.785651 Response sent (57 bytes) and written to log/22/server.response 20:54:41.785660 special request received, no persistency 20:54:41.785668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind395 ==127685== ==127685== Process terminating with default action of signal 4 (SIGILL) ==127685== Illegal opcode at address 0x4003082 ==127685== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127685== by 0x4003082: main (tool_main.c:243) === 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/11/valgrind396 ../src/curl -q --output log/11/curl396.out --include --trace-ascii log/11/trace396 --trace-config all --trace-time http://127.0.0.1:44265/396 --compressed > log/11/stdout396 2> log/11/stderr396 396: 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 396 === Start of file commands.log ../libtool --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/valgrind396 ../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/2/valgrind418 ../src/curl -q --output log/2/curl418.out --include --trace-ascii log/2/trace418 --trace-config all --trace-time http://127.0.0.1:43815/418 -sS --tr-encoding > log/2/stdout418 2> log/2/stderr418 output log/11/curl396.out --include --trace-ascii log/11/trace396 --trace-config all --trace-time http://127.0.0.1:44265/396 --compressed > log/11/stdout396 2> log/11/stderr396 === End of file commands.log === Start of file http_server.log 20:54:41.885877 ====> Client connect 20:54:41.885907 accept_connection 3 returned 4 20:54:41.885921 accept_connection 3 returned 0 20:54:41.885933 Read 93 bytes 20:54:41.885941 Process 93 bytes request 20:54:41.885953 Got request: GET /verifiedserver HTTP/1.1 20:54:41.885960 Are-we-friendly question received 20:54:41.885984 Wrote request (93 bytes) input to log/11/server.input 20:54:41.886006 Identifying ourselves as friends 20:54:41.886058 Response sent (57 bytes) and written to log/11/server.response 20:54:41.886068 special request received, no persistency 20:54:41.886076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind396 ==127755== ==127755== Process terminating with default action of signal 4 (SIGILL) ==127755== Illegal opcode at address 0x4003082 ==127755== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127755== by 0x4003082: main (tool_main.c:243) === End of file valgrind396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind419 ../src/curl -q --output log/24/curl419.out --include --trace-ascii log/24/trace419 --trace-config all --trace-time http://127.0.0.1:45957/419 -D loggg/save-here/fails > log/24/stdout419 2> log/24/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/9/valgrind420 ../src/curl -q --output log/9/curl420.out --include --trace-ascii log/9/trace420 --trace-config all --trace-time http://127.0.0.1:46863/func_test/del_cookie -b log/9/cookie420 -c log/9/save420 > log/9/stdout420 2> log/9/stderr420 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/2/valgrind418 ../src/curl -q --output log/2/curl418.out --include --trace-ascii log/2/trace418 --trace-config all --trace-time http://127.0.0.1:43815/418 -sS --tr-encoding > log/2/stdout418 2> log/2/stderr418 418: stderr FAILED: --- log/2/check-expected 2025-06-04 20:54:42.343031573 +0000 +++ log/2/check-generated 2025-06-04 20:54:42.343031573 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/2/ 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 commands.log ../libtool --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/valgrind418 ../src/curl -q --output log/2/curl418.out --include --trace-ascii log/2/trace418 --trace-config all --trace-time http://127.0.0.1:43815/418 -sS --tr-encoding > log/2/stdout418 2> log/2/stderr418 === End of file commands.log === Start of file http_server.log 20:54:42.068192 ====> Client connect 20:54:42.068220 accept_connection 3 returned 4 20:54:42.068237 accept_connection 3 returned 0 20:54:42.068250 Read 93 bytes 20:54:42.068260 Process 93 bytes request 20:54:42.068272 Got request: GET /verifiedserver HTTP/1.1 20:54:42.068281 Are-we-friendly question received 20:54:42.068302 Wrote request (93 bytes) input to log/2/server.input 20:54:42.068319 Identifying ourselves as friends 20:54:42.068367 Response sent (57 bytes) and written to log/2/server.response 20:54:42.068377 special request received, no persistency 20:54:42.068386 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind418 ==128317== ==128317== Process terminating with default action of signal 4 (SIGILL) ==128317== Illegal opcode at address 0x4003082 ==128317== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128317== by 0x4003082: main (tool_main.c:243) === End of file valgrind418 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/9/valgrind420 ../src/curl -q --output log/9/curl420.out --include --trace-ascii log/9/trace420 --trace-config all --trace-time http://127.0.0.1:46863/func_test/del_cookie -b log/9/cookie420 -c log/9/save420 > log/9/stdout420 2> log/9/stderr420 420: 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 420 === Start of file commands.log ../libtool --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/valgrind420 ../src/curl -q --output log/9/curl420.out --include --trace-ascii log/9/trace420 --trace-config all --trace-time http://127.0.0.1:46863/func_test/del_cookie -b log/9/cookie420 -c log/9/save420 > log/9/stdout420 2> log/9/stderr420 === End of file commands.log === 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 20:54:42.065771 ====> Client connect 20:54:42.065802 accept_connection 3 returned 4 20:54:42.065820 accept_connection 3 returned 0 20:54:42.065834 Read 93 bytes 20:54:42.065844 Process 93 bytes request 20:54:42.065857 Got request: GET /verifiedserver HTTP/1.1 20:54:42.065866 Are-we-friendly question received 20:54:42.065889 Wrote request (93 bytes) input to log/9/server.input 20:54:42.065906 Identifying ourselves as friends 20:54:42.065960 Response sent (57 bytes) and written to log/9/server.response 20:54:42.065971 special request received, no persistency 20:54:42.065980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind420 ==128305== ==128305== Process terminating with default action of signal 4 (SIGILL) ==128305== Illegal opcode at address 0x4003082 ==128305== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128305== by 0x4003082: main (tool_main.c:243) === End of file valgrind420 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/24/valgrind419 ../src/curl -q --output log/24/curl419.out --include --trace-ascii log/24/trace419 --trace-config all --trace-time http://127.0.0.1:45957/419 -D loggg/save-here/fails > log/24/stdout419 2> log/24/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/24/ dir after test 419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind419 ../src/curl -q --output log/24/curl419.out --include --trace-ascii log/24/trace419 --trace-config all --trace-time http://127.0.0.1:45957/419 -D loggg/save-here/fails > log/24/stdout419 2> log/24/stderr419 === End of file commands.log === Start of file http_server.log 20:54:42.067791 ====> Client connect 20:54:42.067821 accept_connection 3 returned 4 20:54:42.067837 accept_connection 3 returned 0 20:54:42.067850 Read 93 bytes 20:54:42.067860 Process 93 bytes request 20:54:42.067871 Got request: GET /verifiedserver HTTP/1.1 20:54:42.067881 Are-we-friendly question received 20:54:42.067904 Wrote request (93 bytes) input to log/24/server.input 20:54:42.067920 Identifying ourselves as friends 20:54:42.067973 Response sent (57 bytes) and written to log/24/server.response 20:54:42.067983 special request received, no persistency 20:54:42.067992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GECMD (33792): ../libtool --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/valgrind421 ../src/curl -q --output log/4/curl421.out --include --trace-ascii log/4/trace421 --trace-config all --trace-time http://127.0.0.1:35779/421 -w '%{stderr}%{header_json}\n' -s > log/4/stdout421 2> log/4/stderr421 T /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind419 ==128290== ==128290== Process terminating with default action of signal 4 (SIGILL) ==128290== Illegal opcode at address 0x4003082 ==128290== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128290== by 0x4003082: main (tool_main.c:243) === 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/16/valgrind423 ../src/curl -q --trace-ascii log/16/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:33409/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:33409/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/16/stdout423 2> log/16/stderr423 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/4/valgrind421 ../src/curl -q --output log/4/curl421.out --include --trace-ascii log/4/trace421 --trace-config all --trace-time http://127.0.0.1:35779/421 -w '%{stderr}%{header_json}\n' -s > log/4/stdout421 2> log/4/stderr421 421: stderr FAILED: --- log/4/check-expected 2025-06-04 20:54:42.353031573 +0000 +++ log/4/check-generated 2025-06-04 20:54:42.353031573 +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/4/ 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 commands.log ../libtool --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/valgrind421 ../src/curl -q --output log/4/curl421.out --include --trace-ascii log/4/trace421 --trace-config all --trace-time http://127.0.0.1:35779/421 -w '%{stderr}%{header_json}\n' -s > log/4/stdout421 2> log/4/stderr421 === End of file commands.log === Start of file http_server.log 20:54:42.069580 ====> Client connect 20:54:42.069611 accept_connection 3 returned 4 20:54:42.069629 accept_connection 3 returned 0 20:54:42.069643 Read 93 bytes 20:54:42.069653 Process 93 bytes request 20:54:42.069663 Got request: GET /verifiedserver HTTP/1.1 20:54:42.069672 Are-we-friendly question received 20:54:42.069696 Wrote request (93 bytes) input to log/4/server.input 20:54:42.069712 Identifying ourselves as friends 20:54:42.069771 Response sent (57 bytes) and written to log/4/server.response 20:54:42.069781 special request received, no persistency 20:54:42.069790 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind421 ==128367== ==128367== Process terminating with default action of signal 4 (SIGILL) ==128367== Illegal opcode at address 0x4003082 ==128367== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128367== by 0x4003082: main (tool_main.c:243) === 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/17/valgrind416 ../src/curl -q --output log/17/curl416.out --include --trace-ascii log/17/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:42765/416 > log/17/stdout416 2> log/17/stderr416 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/16/valgrind423 ../src/curl -q --trace-ascii log/16/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:33409/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:33409/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/16/stdout423 2> log/16/stderr423 423: stdout FAILED: --- log/16/check-expected 2025-06-04 20:54:42.366364906 +0000 +++ log/16/check-generated 2025-06-04 20:54:42.366364906 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+33409+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+33409+qqqq+ffff[LF] == Contents of files in the log/16/ dir after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+33409+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+33409+qqqq+ffff[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind423 ../src/curl -q --trace-ascii log/16/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:33409/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:33409/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/16/stdout423 2> log/16/stderr423 === End of file commands.log === Start of file http_server.log 20:54:42.090524 ====> Client connect 20:54:42.090559 accept_connection 3 returned 4 20:54:42.090578 accept_connection 3 returned 0 20:54:42.090593 Read 93 bytes 20:54:42.090603 Process 93 bytes request 20:54:42.090618 Got request: GET /verifiedserver HTTP/1.1 20:54:42.090628 Are-we-friendly question received 20:54:42.090652 Wrote request (93 bytes) input to log/16/server.input 20:54:42.090669 Identifying ourselves as friends 20:54:42.090724 Response sent (57 bytes) and written to log/16/server.response 20:54:42.090736 special request received, no persistency 20:54:42.090745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind423 ==128511== ==128511== Process terminating with default action of signal 4 (SIGILL) ==128511== Illegal opcode at address 0x4003082 ==128511== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128511== by 0x4003082: main (tool_main.c:243) === End of file valgrind423 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/17/valgrind416 ../src/curl -q --output log/17/curl416.out --include --trace-ascii log/17/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:42765/416 > log/17/stdout416 2> log/17/stderr416 416: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind416 ../src/curl -q --output log/17/curl416.out --include --trace-ascii log/17/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:42765/416 > log/17/stdout416 2> log/17/stderr416 === End of file commands.log === Start of file ftp_server.log 20:54:41.843385 ====> Client connect 20:54:41.843526 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:41.843867 < "USER anonymous" 20:54:41.843914 > "331 We are happy you popped in![CR][LF]" 20:54:41.844215 < "PASS ftp@example.com" 20:54:41.844282 > "230 Welcome you silly person[CR][LF]" 20:54:41.844490 < "PWD" 20:54:41.844521 > "257 "/" is current directory[CR][LF]" 20:54:41.844700 < "EPSV" 20:54:41.844725 ====> Passive DATA channel requested by client 20:54:41.844738 DATA sockfilt for passive data channel starting... 20:54:41.846549 DATA sockfilt for passive data channel started (pid 128236) 20:54:41.846648 DATA sockfilt for passive data channel listens on port 36675 20:54:41.846682 > "229 Entering Passive Mode (|||36675|)[LF]" 20:54:41.846698 Client has been notified that DATA conn will be accepted on port 36675 20:54:41.846901 Client connects to port 36675 20:54:41.846927 ====> Client established passive DATA connection on port 36675 20:54:41.846984 < "TYPE I" 20:54:41.847007 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:41.847144 < "SIZE verifiedserver" 20:54:41.847177 > "213 18[CR][LF]" 20:54:41.847328 < "RETR verifiedserver" 20:54:41.847362 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:41.847427 =====> Closing passive DATA connection... 20:54:41.847441 Server disconnects passive DATA connection 20:54:41.847544 Server disconnected passive DATA connection 20:54:41.847562 DATA sockfilt for passive data channel quits (pid 128236) 20:54:41.847756 DATA sockfilt for passive data channel quit (pid 128236) 20:54:41.847776 =====> Closed passive DATA connection 20:54:41.847801 > "226 File transfer complete[CR][LF]" 20:54:41.889266 < "QUIT" 20:54:41.889327 > "221 bye bye baby[CR][LF]" 20:54:41.890331 MAIN sockfilt said DISC 20:54:41.890399 ====> Client disconnected 20:54:41.890492 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:42.064542 ====> Client connect 20:54:42.065047 Received DATA (on stdin) 20:54:42.065061 > 160 bytes data, server => client 20:54:42.065072 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:42.065082 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:42.065091 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:42.065197 < 16 bytes data, client => server 20:54:42.065222 'USER anonymous\r\n' 20:54:42.065431 Received DATA (on stdin) 20:54:42.065443 > 33 bytes data, server => client 20:54:42.065454 '331 We are happy you popped in!\r\n' 20:54:42.065604 < 22 bytes data, client => server 20:54:42.065623 'PASS ftp@example.com\r\n' 20:54:42.065808 Received DATA (on stdin) 20:54:42.065824 > 30 bytes data, server => client 20:54:42.065836 '230 Welcome you silly person\r\n' 20:54:42.065909 < 5 bytes data, client => server 20:54:42.065922 'PWD\r\n' 20:54:42.066037 Received DATA (on stdin) 20:54:42.066050 > 30 bytes data, server => client 20:54:42.066062 '257 "/" is current directory\r\n' 20:54:42.066129 < 6 bytes data, client => server 20:54:42.066141 'EPSV\r\n' 20:54:42.068213 Received DATA (on stdin) 20:54:42.068227 > 38 bytes data, server => client 20:54:42.068237 '229 Entering Passive Mode (|||36675|)\n' 20:54:42.068366 < 8 bytes data, client => server 20:54:42.068377 'TYPE I\r\n' 20:54:42.068514 Received DATA (on stdin) 20:54:42.068536 > 33 bytes data, server => client 20:54:42.068549 '200 I modify TYPE as you wanCMD (33792): ../libtool --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:39141/398 > log/7/stdout398 2> log/7/stderr398 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind424 ../src/curl -q --trace-ascii log/18/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:34637/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:34637/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:34637/ -L > log/18/stdout424 2> log/18/stderr424 ted\r\n' 20:54:42.068606 < 21 bytes data, client => server 20:54:42.068617 'SIZE verifiedserver\r\n' 20:54:42.068690 Received DATA (on stdin) 20:54:42.068704 > 8 bytes data, server => client 20:54:42.068714 '213 18\r\n' 20:54:42.068767 < 21 bytes data, client => server 20:54:42.068778 'RETR verifiedserver\r\n' 20:54:42.068936 Received DATA (on stdin) 20:54:42.068955 > 29 bytes data, server => client 20:54:42.068966 '150 Binary junk (18 bytes).\r\n' 20:54:42.069314 Received DATA (on stdin) 20:54:42.069329 > 28 bytes data, server => client 20:54:42.069339 '226 File transfer complete\r\n' 20:54:42.110555 < 6 bytes data, client => server 20:54:42.110580 'QUIT\r\n' 20:54:42.110844 Received DATA (on stdin) 20:54:42.110875 > 18 bytes data, server => client 20:54:42.110887 '221 bye bye baby\r\n' 20:54:42.111775 ====> Client disconnect 20:54:42.112012 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:41.067782 Running IPv4 version 20:54:41.067842 Listening on port 36675 20:54:41.067876 Wrote pid 128236 to log/17/server/ftp_sockdata.pid 20:54:41.068009 Received PING (on stdin) 20:54:41.068083 Received PORT (on stdin) 20:54:41.068342 ====> Client connect 20:54:41.068954 Received DATA (on stdin) 20:54:41.068966 > 18 bytes data, server => client 20:54:41.068978 'WE ROOLZ: 110706\r\n' 20:54:41.069001 Received DISC (on stdin) 20:54:41.069011 ====> Client forcibly disconnected 20:54:41.069079 Received QUIT (on stdin) 20:54:41.069089 quits 20:54:41.069140 ============> 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 ==128633== ==128633== Process terminating with default action of signal 4 (SIGILL) ==128633== Illegal opcode at address 0x4003082 ==128633== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128633== by 0x4003082: main (tool_main.c:243) === 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/12/valgrind399 ../src/curl -q --output log/12/curl399.out --include --trace-ascii log/12/trace399 --trace-config all --trace-time -K log/12/input%TESTNUM > log/12/stdout399 2> log/12/stderr399 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind397 ../src/curl -q --output log/19/curl397.out --include --trace-ascii log/19/trace397 --trace-config all --trace-time http://127.0.0.1:46549/397 --compressed > log/19/stdout397 2> log/19/stderr397 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/18/valgrind424 ../src/curl -q --trace-ascii log/18/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:34637/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:34637/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:34637/ -L > log/18/stdout424 2> log/18/stderr424 424: stdout FAILED: --- log/18/check-expected 2025-06-04 20:54:42.399698241 +0000 +++ log/18/check-generated 2025-06-04 20:54:42.399698241 +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/18/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind424 ../src/curl -q --trace-ascii log/18/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:34637/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:34637/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:34637/ -L > log/18/stdout424 2> log/18/stderr424 === End of file commands.log === Start of file http_server.log 20:54:42.125112 ====> Client connect 20:54:42.125143 accept_connection 3 returned 4 20:54:42.125160 accept_connection 3 returned 0 20:54:42.125284 Read 93 bytes 20:54:42.125297 Process 93 bytes request 20:54:42.125309 Got request: GET /verifiedserver HTTP/1.1 20:54:42.125320 Are-we-friendly question received 20:54:42.125349 Wrote request (93 bytes) input to log/18/server.input 20:54:42.125364 Identifying ourselves as friends 20:54:42.125415 Response sent (57 bytes) and written to log/18/server.response 20:54:42.125424 special request received, no persistency 20:54:42.125433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind424 ==128679== ==128679== Process terminating with default action of signal 4 (SIGILL) ==128679== Illegal opcode at address 0x4003082 ==128679== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128679== by 0x4003082: main (tool_main.c:243) === End of file valgrind424 test 0398...[Reject HTTP/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:39141/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 commands.log ../libtool --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:39141/398 > log/7/stdout398 2> log/7/stderr398 === End of file commands.log === Start of file http_server.log 20:54:41.991642 ====> Client connect 20:54:41.991721 accept_connection 3 returned 4 20:54:41.991738 accept_connection 3 returned 0 20:54:41.991751 Read 93 bytes 20:54:41.991759 Process 93 bytes request 20:54:41.991770 Got request: GET /verifiedserver HTTP/1.1 20:54:41.991778 Are-we-friendly question received 20:54:41.991798 Wrote request (93 bytes) input to log/7/server.input 20:54:41.991811 Identifying ourselves as friends 20:54:41.991869 Response sent (57 bytes) and written to log/7/server.response 20:54:41.991878 special request received, no persistency 20:54:41.991885 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind398 ==127882== ==127882== Process terminating with default action of signal 4 (SIGILL) ==127882== Illegal opcode at address 0x4003082 ==127882== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127882== by 0x4003082: main (tool_main.c:243) === 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/12/valgrind399 ../src/curl -q --output log/12/curl399.out --include --trace-ascii log/12/trace399 --trace-config all --trace-time -K log/12/input%TESTNUM > log/12/stdout399 2> log/12/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/12/ dir after test 399 === Start of file commands.log ../libtool --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/valgrind399 ../src/curl -q --output log/12/curl399.out --include --trace-ascii log/12/trace399 --trace-config all --trace-time -K log/12/input%TESTNUM > log/12/stdout399 2> log/12/stderr399 === End of file commands.log === Start of file http_server.log 20:54:41.995126 ====> Client connect 20:54:41.995150 accept_connection 3 returned 4 20:54:41.995163 accept_connection 3 returned 0 20:54:41.995174 Read 93 bytes 20:54:41.995182 Process 93 bytes request 20:54:41.995191 Got request: GET /verifiedserver HTTP/1.1 20:54:41.995198 Are-we-friendly question received 20:54:41.995217 Wrote request (93 bytes) input to log/12/server.input 20:54:41.995228 Identifying ourselves as friends 20:54:41.995269 Response sent (57 bytes) and written to log/12/server.response 20:54:41.995277 special request received, no persistency 20:54:41.995283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind411 ../src/curl -q --output log/15/curl411.out --include --trace-ascii log/15/trace411 --trace-config all --trace-time -K log/15/missing http://localhost > log/15/stdout411 2> log/15/stderr411 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind399 ==127883== ==127883== Process terminating with default action of signal 4 (SIGILL) ==127883== Illegal opcode at address 0x4003082 ==127883== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127883== by 0x4003082: main (tool_main.c:243) === End of file valgrind399 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/19/valgrind397 ../src/curl -q --output log/19/curl397.out --include --trace-ascii log/19/trace397 --trace-config all --trace-time http://127.0.0.1:46549/397 --compressed > log/19/stdout397 2> log/19/stderr397 397: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 397 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind397 ../src/curl -q --output log/19/curl397.out --include --trace-ascii log/19/trace397 --trace-config all --trace-time http://127.0.0.1:46549/397 --compressed > log/19/stdout397 2> log/19/stderr397 === End of file commands.log === Start of file http_server.log 20:54:41.982146 ====> Client connect 20:54:41.982176 accept_connection 3 returned 4 20:54:41.982192 accept_connection 3 returned 0 20:54:41.982205 Read 93 bytes 20:54:41.982214 Process 93 bytes request 20:54:41.982227 Got request: GET /verifiedserver HTTP/1.1 20:54:41.982236 Are-we-friendly question received 20:54:41.982258 Wrote request (93 bytes) input to log/19/server.input 20:54:41.982275 Identifying ourselves as friends 20:54:41.982323 Response sent (57 bytes) and written to log/19/server.response 20:54:41.982333 special request received, no persistency 20:54:41.982341 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind397 ==127912== ==127912== Process terminating with default action of signal 4 (SIGILL) ==127912== Illegal opcode at address 0x4003082 ==127912== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127912== by 0x4003082: main (tool_main.c:243) === End of file valgrind397 CMD (33792): ../libtool --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/valgrind405 ../src/curl -q --output log/10/curl405.out --include --trace-ascii log/10/trace405 --trace-config all --trace-time -m 5 --insecure ftps://127.0.0.1:41053/path/to/file/405 > log/10/stdout405 2> log/10/stderr405 CMD (33792): ../libtool --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/valgrind422 ../src/curl -q --output log/6/curl422.out --include --trace-ascii log/6/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:38475/422 > log/6/stdout422 2> log/6/stderr422 CMD (33792): ../libtool --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/valgrind415 ../src/curl -q --output log/3/curl415.out --include --trace-ascii log/3/trace415 --trace-config all --trace-time http://127.0.0.1:33171/415 > log/3/stdout415 2> log/3/stderr415 * 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/15/valgrind411 ../src/curl -q --output log/15/curl411.out --include --trace-ascii log/15/trace411 --trace-config all --trace-time -K log/15/missing http://localhost > log/15/stdout411 2> log/15/stderr411 411: stderr FAILED: --- log/15/check-expected 2025-06-04 20:54:42.413031574 +0000 +++ log/15/check-generated 2025-06-04 20:54:42.413031574 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/15/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/15/ dir after test 411 === Start of file check-expected curl: cannot read config from 'log/15/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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind411 ../src/curl -q --output log/15/curl411.out --include --trace-ascii log/15/trace411 --trace-config all --trace-time -K log/15/missing http://localhost > log/15/stdout411 2> log/15/stderr411 === End of file commands.log === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==127965== ==127965== Process terminating with default action of signal 4 (SIGILL) ==127965== Illegal opcode at address 0x4003082 ==127965== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==127965== by 0x4003082: main (tool_main.c:243) === End of file valgrind411 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/10/valgrind405 ../src/curl -q --output log/10/curl405.out --include --trace-ascii log/10/trace405 --trace-config all --trace-time -m 5 --insecure ftps://127.0.0.1:41053/path/to/file/405 > log/10/stdout405 2> log/10/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/10/ dir after test 405 === Start of file commands.log ../libtool --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/valgrind405 ../src/curl -q --output log/10/curl405.out --include --trace-ascii log/10/trace405 --trace-config all --trace-time -m 5 --insecure ftps://127.0.0.1:41053/path/to/file/405 > log/10/stdout405 2> log/10/stderr405 === End of file commands.log === Start of file ftp_server.log 20:54:41.777651 ====> Client connect 20:54:41.777802 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:41.777982 < "USER anonymous" 20:54:41.778011 > "331 We are happy you popped in![CR][LF]" 20:54:41.778156 < "PASS ftp@example.com" 20:54:41.778176 > "230 Welcome you silly person[CR][LF]" 20:54:41.778299 < "PWD" 20:54:41.778324 > "257 "/" is current directory[CR][LF]" 20:54:41.778452 < "EPSV" 20:54:41.778471 ====> Passive DATA channel requested by client 20:54:41.778482 DATA sockfilt for passive data channel starting... 20:54:41.780017 DATA sockfilt for passive data channel started (pid 127879) 20:54:41.780984 DATA sockfilt for passive data channel listens on port 34397 20:54:41.781034 > "229 Entering Passive Mode (|||34397|)[LF]" 20:54:41.781054 Client has been notified that DATA conn will be accepted on port 34397 20:54:41.781269 Client connects to port 34397 20:54:41.781296 ====> Client established passive DATA connection on port 34397 20:54:41.781357 < "TYPE I" 20:54:41.781383 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:41.781533 < "SIZE verifiedserver" 20:54:41.781566 > "213 18[CR][LF]" 20:54:41.781712 < "RETR verifiedserver" 20:54:41.781744 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:41.781811 =====> Closing passive DATA connection... 20:54:41.781825 Server disconnects passive DATA connection 20:54:41.781973 Server disconnected passive DATA connection 20:54:41.781993 DATA sockfilt for passive data channel quits (pid 127879) 20:54:41.782175 DATA sockfilt for passive data channel quit (pid 127879) 20:54:41.782194 =====> Closed passive DATA connection 20:54:41.782214 > "226 File transfer complete[CR][LF]" 20:54:41.822651 < "QUIT" 20:54:41.822706 > "221 bye bye baby[CR][LF]" 20:54:41.822845 MAIN sockfilt said DISC 20:54:41.822871 ====> Client disconnected 20:54:41.822933 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:40.998211 ====> Client connect 20:54:40.999277 Received DATA (on stdin) 20:54:40.999298 > 160 bytes data, server => client 20:54:40.999310 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:40.999320 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:40.999329 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:40.999399 < 16 bytes data, client => server 20:54:40.999411 'USER anonymous\r\n' 20:54:40.999524 Received DATA (on stdin) 20:54:40.999536 > 33 bytes data, server => client 20:54:40.999547 '331 We are happy you popped in!\r\n' 20:54:40.999594 < 22 bytes data, client => server 20:54:40.999605 'PASS ftp@example.com\r\n' 20:54:40.999686 Received DATA (on stdin) 20:54:40.999696 > 30 bytes data, server => client 20:54:40.999706 '230 Welcome you silly person\r\n' 20:54:40.999743 < 5 bytes data, client => server 20:54:40.999752 'PWD\r\n' 20:54:40.999833 Received DATA (on stdin) 20:54:40.999843 > 30 bytes data, server => client 20:54:40.999854 '257 "/" is current directory\r\n' 20:54:40.999899 < 6 bytes data, client => server 20:54:40.999908 'EPSV\r\n' 20:54:41.002571 Received DATA (on stdin) 20:54:41.002584 > 38 bytes data, server => client 20:54:41.002595 '229 Entering Passive Mode (|||34397|)\n' 20:54:41.002732 < 8 bytes data, client => server 20:54:41.002745 'TYPE I\r\n' 20:54:41.002897 Received DATA (on stdin) 20:54:41.002909 > 33 bytes data, server => client 20:54:41.002919 '200 I modify TYPE as you wanted\r\n' 20:54:41.002965 < 21 bytes data, client => server 20:54:41.002978 'SIZE verifiedserver\r\n' 20:54:41.003078 Received DATA (on stdin) 20:54:41.003090 > 8 bytes data, server => client 20:54:41.003099 '213 18\r\n' 20:54:41.003144 < 21 bytes data, client => server 20:54:41.003157 'RETR verifiedserver\r\n' 20:54:41.003337 Received DATA (on stdin) 20:54:41.003348 > 29 bytes data, server => client 20:54:41.003358 '150 Binary junk (18 bytes).\r\n' 20:54:41.003723 Received DATA (on stdin) 20:54:41.003733 > 28 bytes data, server => client 20:54:41.003741 '226 File transfer complete\r\n' 20:54:41.043933 < 6 bytes data, client => server 20:54:41.043959 'QUIT\r\n' 20:54:41.044225 Received DATA (on stdin) 20:54:41.044238 > 18 bytes data, server => client 20:54:41.044246 '221 bye bye baby\r\n' 20:54:41.044308 ====> Client disconnect 20:54:41.044445 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:41.001292 Running IPv4 version 20:54:41.001342 Listening on port 34397 20:54:41.001383 Wrote pid 127879 to log/10/server/ftp_sockdata.pid 20:54:41.001405 Received PING (on stdin) 20:54:41.001553 Received PORT (on stdin) 20:54:41.002704 ====> Client connect 20:54:41.003381 Received DATA (on stdin) 20:54:41.003393 > 18 bytes data, server => client 20:54:41.003405 'WE ROOLZ: 110827\r\n' 20:54:41.003432 Received DISC (on stdin) 20:54:41.003442 ====> Client forcibly disconnected 20:54:41.003509 Received QUIT (on stdin) 20:54:41.003519 quits 20:54:41.003573 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End 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/14/valgrind402 ../src/curl -q --output log/14/curl402.out --include --trace-ascii log/14/trace402 --trace-config all --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:36539/402 > log/14/stdout402 2> log/14/stderr402 server.cmd === Start of file valgrind405 ==128164== ==128164== Process terminating with default action of signal 4 (SIGILL) ==128164== Illegal opcode at address 0x4003082 ==128164== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128164== by 0x4003082: main (tool_main.c:243) === End of file valgrind405 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/3/valgrind415 ../src/curl -q --output log/3/curl415.out --include --trace-ascii log/3/trace415 --trace-config all --trace-time http://127.0.0.1:33171/415 > log/3/stdout415 2> log/3/stderr415 415: 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 415 === Start of file commands.log ../libtool --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/valgrind415 ../src/curl -q --output log/3/curl415.out --include --trace-ascii log/3/trace415 --trace-config all --trace-time http://127.0.0.1:33171/415 > log/3/stdout415 2> log/3/stderr415 === End of file commands.log === Start of file http_server.log 20:54:42.059940 ====> Client connect 20:54:42.059982 accept_connection 3 returned 4 20:54:42.060000 accept_connection 3 returned 0 20:54:42.060016 Read 93 bytes 20:54:42.060027 Process 93 bytes request 20:54:42.060045 Got request: GET /verifiedserver HTTP/1.1 20:54:42.060054 Are-we-friendly question received 20:54:42.060080 Wrote request (93 bytes) input to log/3/server.input 20:54:42.060099 Identifying ourselves as friends 20:54:42.060152 Response sent (57 bytes) and written to log/3/server.response 20:54:42.060161 special request received, no persistency 20:54:42.060169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind415 ==128255== ==128255== Process terminating with default action of signal 4 (SIGILL) ==128255== Illegal opcode at address 0x4003082 ==128255== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128255== by 0x4003082: main (tool_main.c:243) === End of file valgrind415 * 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/6/valgrind422 ../src/curl -q --output log/6/curl422.out --include --trace-ascii log/6/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:38475/422 > log/6/stdout422 2> log/6/stderr422 422: stderr FAILED: --- log/6/check-expected 2025-06-04 20:54:42.429698241 +0000 +++ log/6/check-generated 2025-06-04 20:54:42.429698241 +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/6/ 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 commands.log ../libtool --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/valgrind422 ../src/curl -q --output log/6/curl422.out --include --trace-ascii log/6/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:38475/422 > log/6/stdout422 2> log/6/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==128139== ==128139== Process terminating with default action of signal 4 (SIGILL) ==128139== Illegal opcode at address 0x4003082 ==128139== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128139== by 0x4003082: main (tool_main.c:243) === End of file valgrind422 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/14/valgrind402 ../src/curl -q --output log/14/curl402.out --include --trace-ascii log/14/trace402 --trace-config all --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:36539/402 > log/14/stdout402 2> log/14/stderr402 402: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind402 ../src/curl -q --output log/14/curl402.out --include --trace-ascii log/14/trace402 --trace-config all --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:36539/402 > log/14/stdout402 2> log/14/stderr402 === End of file commands.log === Start of file ftp_server.log 20:54:41.775774 ====> Client connect 20:54:41.775884 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:41.776169 < "USER anonymous" 20:54:41.776200 > "331 We are happy you popped in![CR][LF]" 20:54:41.776380 < "PASS ftp@example.com" 20:54:41.776401 > "230 Welcome you silly person[CR][LF]" 20:54:41.776510 < "PWD" 20:54:41.776535 > "257 "/" is current directory[CR][LF]" 20:54:41.776677 < "EPSV" 20:54:41.776702 ====> Passive DATA channel requested by client 20:54:41.776714 DATA sockfilt for passive data channel starting... 20:54:41.778337 DATA sockfilt for passive data channel started (pid 127878) 20:54:41.778431 DATA sockfilt for passive data channel listens on port 45443 20:54:41.778469 > "229 Entering Passive Mode (|||45443|)[LF]" 20:54:41.778487 Client has been notified that DATA conn will be accepted on port 45443 20:54:41.778865 Client connects to port 45443 20:54:41.778896 ====> Client established passive DATA connection on port 45443 20:54:41.778953 < "TYPE I" 20:54:41.778978 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:41.779166 < "SIZE verifiedserver" 20:54:41.779214 > "213 18[CR][LF]" 20:54:41.779331 < "RETR verifiedserver" 20:54:41.779355 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:41.779429 =====> Closing passive DATA connection... 20:54:41.779446 Server disconnects passive DATA connection 20:54:41.779503 Server disconnected passive DATA connection 20:54:41.779522 DATA sockfilt for passive data channel quits (pid 127878) 20:54:41.779876 DATA sockfilt for passive data channel quit (pid 127878) 20:54:41.779903 =====> Closed passive DATA connection 20:54:41.779962 > "226 File transfer complete[CR][LF]" 20:54:41.826037 < "QUIT" 20:54:41.826083 > "221 bye bye baby[CR][LF]" 20:54:41.827044 MAIN sockfilt said DISC 20:54:41.827079 ====> Client disconnected 20:54:41.827142 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:41.997142 ====> Client connect 20:54:41.997401 Received DATA (on stdin) 20:54:41.997413 > 160 bytes data, server => client 20:54:41.997422 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:41.997430 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:41.997438 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:41.997543 < 16 bytes data, client => server 20:54:41.997563 'USER anonymous\r\n' 20:54:41.997706 Received DATA (on stdin) 20:54:41.997725 > 33 bytes data, server => client 20:54:41.997736 '331 We are happy you popped in!\r\n' 20:54:41.997836 < 22 bytes data, client => server 20:54:41.997848 'PASS ftp@example.com\r\n' 20:54:41.997912 Received DATA (on stdin) 20:54:41.997923 > 30 bytes data, server => client 20:54:41.997933 '230 Welcome you silly person\r\n' 20:54:41.997973 < 5 bytes data, client => server 20:54:41.997982 'PWD\r\n' 20:54:41.998045 Received DATA (on stdin) 20:54:41.998055 > 30 bytes data, server => client 20:54:41.998065 '257 "/" is current directory\r\n' 20:54:41.998116 < 6 bytes data, client => server 20:54:41.998126 'EPSV\r\n' 20:54:42.000000 Received DATA (on stdin) 20:54:42.000012 > 38 bytes data, server => client 20:54:42.000023 '229 Entering Passive Mode (|||45443|)\n' 20:54:42.000403 < 8 bytes data, client => server 20:54:42.000421 'TYPE I\r\n' 20:54:42.000491 Received DATA (on stdin) 20:54:42.000503 > 33 bytes data, server => client 20:54:42.000514 '200 I modify TYPE as you wanted\r\n' 20:54:42.000565 < 21 bytes data, client => server 20:54:42.000580 'SIZE verifiedserver\r\n' 20:54:42.000725 Received DATA (on stdin) 20:54:42.000734 > 8 bytes data, server => client 20:54:42.000742 '213 18\r\n' 20:54:42.000779 < 21 bytes data, client => server 20:54:42.000787 'RETR verifiedserver\r\n' 20:54:42.000934 Received DATA (on stdin) 20:54:42.000946 > 29 bytes data, server => client 20:54:42.000956 '150 Binary junk (18 bytes).\r\n' 20:54:42.001493 Received DATA (on stdin) 20:54:42.001508 > 28 bytes data, server => client 20:54:42.001518 '226 File transfer complete\r\n' 20:54:42.047403 < 6 bytes data, client => server 20:54:42.047425 'QUIT\r\n' 20:54:42.047597 Received DATA (on stdin) 20:54:42.047608 > 18 bytes data, server => client 20:54:42.047618 '221 bye bye baby\r\n' 20:54:42.048505 ====> Client disconnect 20:54:42.048653 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:41.999678 Running IPv4 version 20:54:41.999733 Listening on port 45443 20:54:41.999781 Wrote pid 127878 to log/14/server/ftp_sockdata.pid 20:54:41.999800 Received PING (on stdin) 20:54:41.999868 Received PORT (on stdin) 20:54:42.000325 ====> Client connect 20:54:42.000875 Received DATA (on stdin) 20:54:42.000887 > 18 bytes data, server => client 20:54:42.000897 'WE ROOLZ: 110708\r\n' 20:54:42.000960 Received DISC (on stdin) 20:54:42.000972 ====> Client forcibly disconnected 20:54:42.001040 Received QUIT (on stdin) 20:54:42.001052 quits 20:54:42.001102 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 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/8/valgrind425 ../src/curl -q --output log/8/curl425.out --include --trace-ascii log/8/trace425 --trace-config all --trace-time -T log/8/up425 http://127.0.0.1:35791/425/?fullpath > log/8/stdout425 2> log/8/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/21/valgrind428 ../src/curl -q --output log/21/curl428.out --include --trace-ascii log/21/trace428 --trace-config all --trace-time http://127.0.0.1:36793/428 -K log/21/cmd > log/21/stdout428 2> log/21/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/5/valgrind427 ../src/curl -q --output log/5/curl427.out --include --trace-ascii log/5/trace427 --trace-config all --trace-time http://127.0.0.1:33725/427 -c log/5/cookies427 -L > log/5/stdout427 2> log/5/stderr427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind426 ../src/curl -q --output log/23/curl426.out --include --trace-ascii log/23/trace426 --trace-config all --trace-time http://127.0.0.1:38539/426 -d foobar -C 3 > log/23/stdout426 2> log/23/stderr426 02 === End of file server.cmd === Start of file valgrind402 ==128175== ==128175== Process terminating with default action of signal 4 (SIGILL) ==128175== Illegal opcode at address 0x4003082 ==128175== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128175== by 0x4003082: main (tool_main.c:243) === End of file valgrind402 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/8/valgrind425 ../src/curl -q --output log/8/curl425.out --include --trace-ascii log/8/trace425 --trace-config all --trace-time -T log/8/up425 http://127.0.0.1:35791/425/?fullpath > log/8/stdout425 2> log/8/stderr425 425: 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 425 === Start of file commands.log ../libtool --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/valgrind425 ../src/curl -q --output log/8/curl425.out --include --trace-ascii log/8/trace425 --trace-config all --trace-time -T log/8/up425 http://127.0.0.1:35791/425/?fullpath > log/8/stdout425 2> log/8/stderr425 === End of file commands.log === Start of file http_server.log 20:54:42.240918 ====> Client connect 20:54:42.240951 accept_connection 3 returned 4 20:54:42.240968 accept_connection 3 returned 0 20:54:42.240982 Read 93 bytes 20:54:42.240992 Process 93 bytes request 20:54:42.241004 Got request: GET /verifiedserver HTTP/1.1 20:54:42.241012 Are-we-friendly question received 20:54:42.241031 Wrote request (93 bytes) input to log/8/server.input 20:54:42.241043 Identifying ourselves as friends 20:54:42.241093 Response sent (57 bytes) and written to log/8/server.response 20:54:42.241102 special request received, no persistency 20:54:42.241110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==128852== ==128852== Process terminating with default action of signal 4 (SIGILL) ==128852== Illegal opcode at address 0x4003082 ==128852== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128852== by 0x4003082: main (tool_main.c:243) === End of file valgrind425 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/21/valgrind428 ../src/curl -q --output log/21/curl428.out --include --trace-ascii log/21/trace428 --trace-config all --trace-time http://127.0.0.1:36793/428 -K log/21/cmd > log/21/stdout428 2> log/21/stderr428 428: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind428 ../src/curl -q --output log/21/curl428.out --include --trace-ascii log/21/trace428 --trace-config all --trace-time http://127.0.0.1:36793/428 -K log/21/cmd > log/21/stdout428 2> log/21/stderr428 === End of file commands.log === Start of file http_server.log 20:54:42.258441 ====> Client connect 20:54:42.258484 accept_connection 3 returned 4 20:54:42.258508 accept_connection 3 returned 0 20:54:42.258523 Read 93 bytes 20:54:42.258534 Process 93 bytes request 20:54:42.258546 Got request: GET /verifiedserver HTTP/1.1 20:54:42.258556 Are-we-friendly question received 20:54:42.258584 Wrote request (93 bytes) input to log/21/server.input 20:54:42.258601 Identifying ourselves as friends 20:54:42.258661 Response sent (57 bytes) and written to log/21/server.response 20:54:42.258673 special request received, no persistency 20:54:42.258682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind428 ==128896== ==128896== Process terminating with default action of signal 4 (SIGILL) ==128896== Illegal opcode at address 0x4003082 ==128896== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128896== by 0x4003082: main (tool_main.c:243) === End of file valgrind428 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/5/valgrind427 ../src/curl -q --output log/5/curl427.out --include --trace-ascii log/5/trace427 --trace-config all --trace-time http://127.0.0.1:33725/427 -c log/5/cookies427 -L > log/5/stdout427 2> log/5/stderr427 427: 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 427 === Start of file commands.log ../libtool --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/valgrind427 ../src/curl -q --output log/5/curl427.out --include --trace-ascii log/5/trace427 --trace-config all --trace-time http://127.0.0.1:33725/427 -c log/5/cookies427 -L > log/5/stdout427 2> log/5/stderr427 === End of file commands.log === Start of file http_server.log 20:54:42.257640 ====> Client connect 20:54:42.257673 accept_connection 3 returned 4 20:54:42.257691 accept_connection 3 returned 0 20:54:42.257705 Read 93 bytes 20:54:42.257715 Process 93 bytes request 20:54:42.257728 Got request: GET /verifiedserver HTTP/1.1 20:54:42.257737 Are-we-friendly question received 20:54:42.257760 Wrote request (93 bytes) input to log/5/server.input 20:54:42.257776 Identifying ourselves as friends 20:54:42.257847 Response sent (57 bytes) and written to log/5/server.response 20:54:42.257856 special request received, no persistency 20:54:42.257866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: 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/20/valgrind429 ../src/curl -q --output log/20/curl429.out --include --trace-ascii log/20/trace429 --trace-config all --trace-time http://127.0.0.1:41293/429 -K log/20/cmd > log/20/stdout429 2> log/20/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/1/valgrind430 ../src/curl -q --output log/1/curl430.out --include --trace-ascii log/1/trace430 --trace-config all --trace-time -K log/1/config430-a -K log/1/config430-b -K log/1/config430-c > log/1/stdout430 2> log/1/stderr430 url/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind427 ==128888== ==128888== Process terminating with default action of signal 4 (SIGILL) ==128888== Illegal opcode at address 0x4003082 ==128888== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128888== by 0x4003082: main (tool_main.c:243) === End of file valgrind427 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/23/valgrind426 ../src/curl -q --output log/23/curl426.out --include --trace-ascii log/23/trace426 --trace-config all --trace-time http://127.0.0.1:38539/426 -d foobar -C 3 > log/23/stdout426 2> log/23/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/23/ dir after test 426 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind426 ../src/curl -q --output log/23/curl426.out --include --trace-ascii log/23/trace426 --trace-config all --trace-time http://127.0.0.1:38539/426 -d foobar -C 3 > log/23/stdout426 2> log/23/stderr426 === End of file commands.log === Start of file http_server.log 20:54:42.261794 ====> Client connect 20:54:42.261828 accept_connection 3 returned 4 20:54:42.261845 accept_connection 3 returned 0 20:54:42.261859 Read 93 bytes 20:54:42.261868 Process 93 bytes request 20:54:42.261879 Got request: GET /verifiedserver HTTP/1.1 20:54:42.261889 Are-we-friendly question received 20:54:42.261915 Wrote request (93 bytes) input to log/23/server.input 20:54:42.261930 Identifying ourselves as friends 20:54:42.261991 Response sent (57 bytes) and written to log/23/server.response 20:54:42.262001 special request received, no persistency 20:54:42.262010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind426 ==128886== ==128886== Process terminating with default action of signal 4 (SIGILL) ==128886== Illegal opcode at address 0x4003082 ==128886== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==128886== by 0x4003082: main (tool_main.c:243) === End of file valgrind426 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/20/valgrind429 ../src/curl -q --output log/20/curl429.out --include --trace-ascii log/20/trace429 --trace-config all --trace-time http://127.0.0.1:41293/429 -K log/20/cmd > log/20/stdout429 2> log/20/stderr429 429: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 429 === Start of file cmd --expand-data {{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind429 ../src/curl -q --output log/20/curl429.out --include --trace-ascii log/20/trace429 --trace-config all --trace-time http://127.0.0.1:41293/429 -K log/20/cmd > log/20/stdout429 2> log/20/stderr429 === End of file commands.log === Start of file http_server.log 20:54:42.286468 ====> Client connect 20:54:42.286497 accept_connection 3 returned 4 20:54:42.286513 accept_connection 3 returned 0 20:54:42.286527 Read 93 bytes 20:54:42.286537 Process 93 bytes request 20:54:42.286549 Got request: GET /verifiedserver HTTP/1.1 20:54:42.286558 Are-we-friendly question received 20:54:42.286579 Wrote request (93 bytes) input to log/20/server.input 20:54:42.286594 Identifying ourselves as friends 20:54:42.286644 Response sent (57 bytes) and written to log/20/server.response 20:54:42.286653 special request received, no persistency 20:54:42.286662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind429 ==129022== ==129022== Process terminating with default action of signal 4 (SIGILL) ==129022== Illegal opcode at address 0x4003082 ==129022== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129022== by 0x4003082: main (tool_main.c:243) === 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/1/valgrind430 ../src/curl -q --output log/1/curl430.out --include --trace-ascii log/1/trace430 --trace-config all --trace-time -K log/1/config430-a -K log/1/config430-b -K log/1/config430-c > log/1/stdout430 2> log/1/stderr430 430: 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 430 === Start of file commands.log ../libtool --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/valgrind430 ../src/curl -q --output log/1/curl430.out --include --trace-ascii log/1/trace430 --trace-config all --trace-time -K log/1/config430-a -K log/1/config430-b -K log/1/config430-c > log/1/stdout430 2> log/1/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:42503/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:42503/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:42503/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 20:54:42.295058 ====> Client connect 20:54:42.295091 accept_connection 3 returned 4 20:54:42.29CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind431 ../src/curl -q --output log/22/curl431.out --include --trace-ascii log/22/trace431 --trace-config all --trace-time -K log/22/config431-a -K log/22/config431-b --next -d c 127.0.0.1:44239/4310003 -H "c: c" > log/22/stdout431 2> log/22/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/11/valgrind432 ../src/curl -q --output log/11/curl432.out --include --trace-ascii log/11/trace432 --trace-config all --trace-time -K log/11/config432 > log/11/stdout432 2> log/11/stderr432 5109 accept_connection 3 returned 0 20:54:42.295123 Read 93 bytes 20:54:42.295134 Process 93 bytes request 20:54:42.295147 Got request: GET /verifiedserver HTTP/1.1 20:54:42.295156 Are-we-friendly question received 20:54:42.295179 Wrote request (93 bytes) input to log/1/server.input 20:54:42.295195 Identifying ourselves as friends 20:54:42.295251 Response sent (57 bytes) and written to log/1/server.response 20:54:42.295261 special request received, no persistency 20:54:42.295270 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind430 ==129084== ==129084== Process terminating with default action of signal 4 (SIGILL) ==129084== Illegal opcode at address 0x4003082 ==129084== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129084== by 0x4003082: main (tool_main.c:243) === End of file valgrind430 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/22/valgrind431 ../src/curl -q --output log/22/curl431.out --include --trace-ascii log/22/trace431 --trace-config all --trace-time -K log/22/config431-a -K log/22/config431-b --next -d c 127.0.0.1:44239/4310003 -H "c: c" > log/22/stdout431 2> log/22/stderr431 431: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind431 ../src/curl -q --output log/22/curl431.out --include --trace-ascii log/22/trace431 --trace-config all --trace-time -K log/22/config431-a -K log/22/config431-b --next -d c 127.0.0.1:44239/4310003 -H "c: c" > log/22/stdout431 2> log/22/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:44239/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:44239/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 20:54:42.374709 ====> Client connect 20:54:42.374742 accept_connection 3 returned 4 20:54:42.374758 accept_connection 3 returned 0 20:54:42.374772 Read 93 bytes 20:54:42.374782 Process 93 bytes request 20:54:42.374794 Got request: GET /verifiedserver HTTP/1.1 20:54:42.374803 Are-we-friendly question received 20:54:42.374827 Wrote request (93 bytes) input to log/22/server.input 20:54:42.374843 Identifying ourselves as friends 20:54:42.374896 Response sent (57 bytes) and written to log/22/server.response 20:54:42.374906 special request received, no persistency 20:54:42.374915 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind431 ==129214== ==129214== Process terminating with default action of signal 4 (SIGILL) ==129214== Illegal opcode at address 0x4003082 ==129214== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129214== by 0x4003082: main (tool_main.c:243) === End of file valgrind431 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/11/valgrind432 ../src/curl -q --output log/11/curl432.out --include --trace-ascii log/11/trace432 --trace-config all --trace-time -K log/11/config432 > log/11/stdout432 2> log/11/stderr432 432: 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 432 === Start of file commands.log ../libtool --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/valgrind432 ../src/curl -q --output log/11/curl432.out --include --trace-ascii log/11/trace432 --trace-config all --trace-time -K log/11/config432 > log/11/stdout432 2> log/11/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:44265/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:44265/4320002 header = "b: b" data = "b" config = "log/11/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:44265/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 20:54:42.482619 ====> Client connect 20:54:42.482656 accept_connection 3 returned 4 20:54:42.482675 accept_connection 3 returned 0 20:54:42.482692 Read 93 bytes 20:54:42.482702 Process 93 bytes request 20:54:42.482715 Got request: GET /verifiedserver HTTP/1.1 20:54:42.482725 Are-we-friendly question received 20:54:42.482753 Wrote request (93 bytes) input to log/11/server.input 20:54:42.482770 Identifying ourselves as friends 20:54:42.482828 Response sent (57 bytes) and written to log/11/server.response 20:54:42.482839 special request received, no persistency 20:54:42.482848 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind432 ==129293== ==129293== Process terminating with default action of signal 4 (SIGILL) ==129293== Illegal opcode at address 0x4003082 ==129293== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129293== by 0x4003082: main (tool_main.c:243) === End of file valgrind432 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_ipv6_server.pid" --logfile "log/13/http_ipv6_server.log" --logdir "log/13" --portfile log/13/server/http_ipv6_server.port --config log/13/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 119296 port 43649 * pid http-ipv6 => 119296 119296 prechecked ./server/resolve --ipv6 ip6-locaCMD (33792): ../libtool --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/valgrind450 ../src/curl -q --output log/7/curl450.out --include --trace-ascii log/7/trace450 --trace-config all --trace-time http://127.0.0.1:39141/450 --variable what@log/7/junk --expand-data "{{what:trim:url}}" > log/7/stdout450 2> log/7/stderr450 CMD (33792): ../libtool --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/valgrind448 ../src/curl -q --output log/12/curl448.out --include --trace-ascii log/12/trace448 --trace-config all --trace-time http://127.0.0.1:33337/448 -K log/12/cmd > log/12/stdout448 2> log/12/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/10/valgrind451 ../src/curl -q --output log/10/curl451.out --include --trace-ascii log/10/trace451 --trace-config all --trace-time http://127.0.0.1:43831/451 --variable what@log/10/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/10/stdout451 2> log/10/stderr451 lhost test 0241 SKIPPED: Resolving IPv6 'ip6-localhost' didn't work 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/7/valgrind450 ../src/curl -q --output log/7/curl450.out --include --trace-ascii log/7/trace450 --trace-config all --trace-time http://127.0.0.1:39141/450 --variable what@log/7/junk --expand-data "{{what:trim:url}}" > log/7/stdout450 2> log/7/stderr450 450: 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 450 === Start of file commands.log ../libtool --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/valgrind450 ../src/curl -q --output log/7/curl450.out --include --trace-ascii log/7/trace450 --trace-config all --trace-time http://127.0.0.1:39141/450 --variable what@log/7/junk --expand-data "{{what:trim:url}}" > log/7/stdout450 2> log/7/stderr450 === End of file commands.log === Start of file http_server.log 20:54:42.671709 ====> Client connect 20:54:42.671739 accept_connection 3 returned 4 20:54:42.671758 accept_connection 3 returned 0 20:54:42.671772 Read 93 bytes 20:54:42.671783 Process 93 bytes request 20:54:42.671798 Got request: GET /verifiedserver HTTP/1.1 20:54:42.671808 Are-we-friendly question received 20:54:42.671839 Wrote request (93 bytes) input to log/7/server.input 20:54:42.671856 Identifying ourselves as friends 20:54:42.671918 Response sent (57 bytes) and written to log/7/server.response 20:54:42.671930 special request received, no persistency 20:54:42.671939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind450 ==129868== ==129868== Process terminating with default action of signal 4 (SIGILL) ==129868== Illegal opcode at address 0x4003082 ==129868== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129868== by 0x4003082: main (tool_main.c:243) === End of file valgrind450 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/12/valgrind448 ../src/curl -q --output log/12/curl448.out --include --trace-ascii log/12/trace448 --trace-config all --trace-time http://127.0.0.1:33337/448 -K log/12/cmd > log/12/stdout448 2> log/12/stderr448 448: 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 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 commands.log ../libtool --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/valgrind448 ../src/curl -q --output log/12/curl448.out --include --trace-ascii log/12/trace448 --trace-config all --trace-time http://127.0.0.1:33337/448 -K log/12/cmd > log/12/stdout448 2> log/12/stderr448 === End of file commands.log === Start of file http_server.log 20:54:42.660589 ====> Client connect 20:54:42.660619 accept_connection 3 returned 4 20:54:42.660635 accept_connection 3 returned 0 20:54:42.660648 Read 93 bytes 20:54:42.660658 Process 93 bytes request 20:54:42.660669 Got request: GET /verifiedserver HTTP/1.1 20:54:42.660679 Are-we-friendly question received 20:54:42.660701 Wrote request (93 bytes) input to log/12/server.input 20:54:42.660716 Identifying ourselves as friends 20:54:42.660766 Response sent (57 bytes) and written to log/12/server.response 20:54:42.660775 special request received, no persistency 20:54:42.660784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind448 ==129817== ==129817== Process terminating with default action of signal 4 (SIGILL) ==129817== Illegal opcode at address 0x4003082 ==129817== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129817== by 0x4003082: main (tool_main.c:243) === End of file valgrind448 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/10/valgrind451 ../src/curl -q --output log/10/curl451.out --include --trace-ascii log/10/trace451 --trace-config all --trace-time http://127.0.0.1:43831/451 --variable what@log/10/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/10/stdout451 2> log/10/stderr451 451: 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 451 === Start of file commands.log ../libtool --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/valgrind451 ../src/curl -q --output log/10/curl451.out --include --trace-ascii log/10/trace451 --trace-config all --trace-time http://127.0.0.1:43831/451 --variable what@log/10/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/10/stdout451 2> log/10/stderr451 === End of file commands.log === Start of file http_server.log 20:54:42.677083 ====> Client connect 20:54:42.677200 accept_connection 3 returned 4 20:54:42.677219 accept_connection 3 returned 0 20:54:42.677232 Read 93 bytes 20:54:42.677243 Process 93 bytes request 20:54:42.677253 Got request: GET /verifiedserver HTTP/1.1 20:54:42.677263 Are-we-friendly question received 20:54:42.677286 Wrote request (93 bytes) input to log/10/server.input 20:54:42.677302 Identifying ourselves as friends 20:54:42.677356 Response sent (57 bytes) and written to log/10/server.response 20:54:42.677366 special request received, no persistency 20:54:42.677375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.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/19/valgrind444 ../src/curl -q --output log/19/curl444.out --include --trace-ascii log/19/trace444 --trace-config all --trace-time http://attack.invalid:46549/a/b/444 -c log/19/cookie444 --resolve attack.invalid:46549:127.0.0.1 > log/19/stdout444 2> log/19/stderr444 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind452 ../src/curl -q --output log/14/curl452.out --include --trace-ascii log/14/trace452 --trace-config all --trace-time http://127.0.0.1:35661/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/14/stdout452 2> log/14/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/6/valgrind453 ../src/curl -q --output log/6/curl453.out --include --trace-ascii log/6/trace453 --trace-config all --trace-time http://127.0.0.1:38475/453 --variable what@log/6/junk --expand-data "{{what}}" > log/6/stdout453 2> log/6/stderr453 g * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind451 ==129905== ==129905== Process terminating with default action of signal 4 (SIGILL) ==129905== Illegal opcode at address 0x4003082 ==129905== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129905== by 0x4003082: main (tool_main.c:243) === End of file valgrind451 test 0444...[Many Set-Cookie 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/19/valgrind444 ../src/curl -q --output log/19/curl444.out --include --trace-ascii log/19/trace444 --trace-config all --trace-time http://attack.invalid:46549/a/b/444 -c log/19/cookie444 --resolve attack.invalid:46549:127.0.0.1 > log/19/stdout444 2> log/19/stderr444 444: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind444 ../src/curl -q --output log/19/curl444.out --include --trace-ascii log/19/trace444 --trace-config all --trace-time http://attack.invalid:46549/a/b/444 -c log/19/cookie444 --resolve attack.invalid:46549:127.0.0.1 > log/19/stdout444 2> log/19/stderr444 === End of file commands.log === Start of file http_server.log 20:54:42.662282 ====> Client connect 20:54:42.662308 accept_connection 3 returned 4 20:54:42.662325 accept_connection 3 returned 0 20:54:42.662338 Read 93 bytes 20:54:42.662348 Process 93 bytes request 20:54:42.662359 Got request: GET /verifiedserver HTTP/1.1 20:54:42.662367 Are-we-friendly question received 20:54:42.662391 Wrote request (93 bytes) input to log/19/server.input 20:54:42.662407 Identifying ourselves as friends 20:54:42.662467 Response sent (57 bytes) and written to log/19/server.response 20:54:42.662476 special request received, no persistency 20:54:42.662484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind444 ==129913== ==129913== Process terminating with default action of signal 4 (SIGILL) ==129913== Illegal opcode at address 0x4003082 ==129913== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129913== by 0x4003082: main (tool_main.c:243) === End of file valgrind444 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/14/valgrind452 ../src/curl -q --output log/14/curl452.out --include --trace-ascii log/14/trace452 --trace-config all --trace-time http://127.0.0.1:35661/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/14/stdout452 2> log/14/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/14/ dir after test 452 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind452 ../src/curl -q --output log/14/curl452.out --include --trace-ascii log/14/trace452 --trace-config all --trace-time http://127.0.0.1:35661/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/14/stdout452 2> log/14/stderr452 === End of file commands.log === Start of file http_server.log 20:54:42.686567 ====> Client connect 20:54:42.686600 accept_connection 3 returned 4 20:54:42.686616 accept_connection 3 returned 0 20:54:42.686630 Read 93 bytes 20:54:42.686641 Process 93 bytes request 20:54:42.686652 Got request: GET /verifiedserver HTTP/1.1 20:54:42.686662 Are-we-friendly question received 20:54:42.686685 Wrote request (93 bytes) input to log/14/server.input 20:54:42.686702 Identifying ourselves as friends 20:54:42.686764 Response sent (57 bytes) and written to log/14/server.response 20:54:42.686774 special request received, no persistency 20:54:42.686784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind452 ==129975== ==129975== Process terminating with default action of signal 4 (SIGILL) ==129975== Illegal opcode at address 0x4003082 ==129975== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129975== by 0x4003082: main (tool_main.c:243) === 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/6/valgrind453 ../src/curl -q --output log/6/curl453.out --include --trace-ascii log/6/trace453 --trace-config all --trace-time http://127.0.0.1:38475/453 --variable what@log/6/junk --expand-data "{{what}}" > log/6/stdout453 2> log/6/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/6/ dir after test 453 === Start of file commands.log ../libtool --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/valgrind453 ../src/curl -q --output log/6/curl453.out --include --trace-ascii log/6/trace453 --trace-config all --trace-time http://127.0.0.1:38475/453 --variable what@log/6/junk --expand-data "{{what}}" > log/6/stdout453 2> log/6/stderr453 === End of file commands.log === Start of file http_server.log 20:54:42.686569 ====> Client connect 20:54:42.686595 accept_connection 3 returned 4 20:54:42.686609 accept_connection 3 returned 0 20:54:42.686621 Read 93 bytes 20:54:42.686629 Process 93 bytes request 20:54:42.686639 Got request: GET /verifiedserver HTTP/1.1 20:54:42.686649 Are-we-friendly question received 20:54:42.686674 Wrote request (93 bytes) input to log/6/server.input 20:54:42.686691 Identifying ourselves as friends 20:54:42.686766 RespCMD (33792): ../libtool --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/valgrind454 ../src/curl -q --output log/3/curl454.out --include --trace-ascii log/3/trace454 --trace-config all --trace-time http://127.0.0.1:33171/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/3/stdout454 2> log/3/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/9/valgrind436 ../src/curl --output log/9/curl436.out --include --trace-ascii log/9/trace436 --trace-config all --trace-time 127.0.0.1:46863/436 > log/9/stdout436 2> log/9/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/24/valgrind435 ../src/curl -q --include --trace-ascii log/24/trace435 --trace-config all --trace-time http://127.0.0.1:45957/435 http://127.0.0.1:45957/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/24/stdout435 2> log/24/stderr435 onse sent (57 bytes) and written to log/6/server.response 20:54:42.686776 special request received, no persistency 20:54:42.686784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === End of file http_verify.out === Start of file 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind453 ==129977== ==129977== Process terminating with default action of signal 4 (SIGILL) ==129977== Illegal opcode at address 0x4003082 ==129977== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129977== by 0x4003082: main (tool_main.c:243) === 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/3/valgrind454 ../src/curl -q --output log/3/curl454.out --include --trace-ascii log/3/trace454 --trace-config all --trace-time http://127.0.0.1:33171/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/3/stdout454 2> log/3/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/3/ dir after test 454 === Start of file commands.log ../libtool --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/valgrind454 ../src/curl -q --output log/3/curl454.out --include --trace-ascii log/3/trace454 --trace-config all --trace-time http://127.0.0.1:33171/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/3/stdout454 2> log/3/stderr454 === End of file commands.log === Start of file http_server.log 20:54:42.686573 ====> Client connect 20:54:42.686612 accept_connection 3 returned 4 20:54:42.686632 accept_connection 3 returned 0 20:54:42.686649 Read 93 bytes 20:54:42.686660 Process 93 bytes request 20:54:42.686674 Got request: GET /verifiedserver HTTP/1.1 20:54:42.686684 Are-we-friendly question received 20:54:42.686734 Wrote request (93 bytes) input to log/3/server.input 20:54:42.686751 Identifying ourselves as friends 20:54:42.686836 Response sent (57 bytes) and written to log/3/server.response 20:54:42.686849 special request received, no persistency 20:54:42.686871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind454 ==129965== ==129965== Process terminating with default action of signal 4 (SIGILL) ==129965== Illegal opcode at address 0x4003082 ==129965== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129965== by 0x4003082: main (tool_main.c:243) === End of file valgrind454 setenv CURL_HOME = /startdir/src/build-curl/tests/log/9 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/9/valgrind436 ../src/curl --output log/9/curl436.out --include --trace-ascii log/9/trace436 --trace-config all --trace-time 127.0.0.1:46863/436 > log/9/stdout436 2> log/9/stderr436 436: 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 436 === Start of file commands.log ../libtool --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/valgrind436 ../src/curl --output log/9/curl436.out --include --trace-ascii log/9/trace436 --trace-config all --trace-time 127.0.0.1:46863/436 > log/9/stdout436 2> log/9/stderr436 === End of file commands.log === Start of file http_server.log 20:54:42.599356 ====> Client connect 20:54:42.599381 accept_connection 3 returned 4 20:54:42.599396 accept_connection 3 returned 0 20:54:42.599407 Read 93 bytes 20:54:42.599415 Process 93 bytes request 20:54:42.599424 Got request: GET /verifiedserver HTTP/1.1 20:54:42.599433 Are-we-friendly question received 20:54:42.599451 Wrote request (93 bytes) input to log/9/server.input 20:54:42.599465 Identifying ourselves as friends 20:54:42.599557 Response sent (57 bytes) and written to log/9/server.response 20:54:42.599568 special request received, no persistency 20:54:42.599577 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind436 ==129426== ==129426== Process terminating with default action of signal 4 (SIGILL) ==129426== Illegal opcode at address 0x4003082 ==129426== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129426== by 0x4003082: main (tool_main.c:243) === 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/16/valgrind441 ../src/curl -q --include --trace-ascii log/16/trace441 --trace-config all --trace-time -x http://127.0.0.1:33409 http://this.hsts.example/441 --hsts log/16/input441 -w '%{url_effective}\n' > log/16/stdout441 2> log/16/stderr441 CMD (33792): ../libtool --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/valgrind440 ../src/curl -q --include --trace-ascii log/4/trace440 --trace-config all --trace-time -x http://127.0.0.1:35779 http://this.hsts.example./440 --hsts log/4/input440 -w '%{url_effective}\n' > log/4/stdout440 2> log/4/stderr440 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind442 ../src/curl -q --output log/17/curl442.out --include --trace-ascii log/17/trace442 --trace-config all --trace-time http://attack.invalid:35207/a/b/442 -b log/17/cookie442 --resolve attack.invalid:35207:127.0.0.1 -L > log/17/stdout442 2> log/17/stderr442 CMD (33792): ../libtool --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/valgrind434 ../src/curl -q --output log/2/curl434.out --include --trace-ascii log/2/trace434 --trace-config all --trace-time -K log/2/config434 > log/2/stdout434 2> log/2/stderr434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind449 ../src/curl -q --output log/15/curl449.out --include --trace-ascii log/15/trace449 --trace-config all --trace-time http://127.0.0.1:39051/449 -K log/15/cmd > log/15/stdout449 2> log/15/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/18/valgrind443 ../src/curl -q --output log/18/curl443.out --include --trace-ascii log/18/trace443 --trace-config all --trace-time http://attack.invalid:34637/a/b/443 -b log/18/cookie443 --resolve attack.invalid:34637:127.0.0.1 -L > log/18/stdout443 2> log/18/stderr443 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/24/valgrind435 ../src/curl -q --include --trace-ascii log/24/trace435 --trace-config all --trace-time http://127.0.0.1:45957/435 http://127.0.0.1:45957/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/24/stdout435 2> log/24/stderr435 435: stdout FAILED: --- log/24/check-expected 2025-06-04 20:54:43.029698254 +0000 +++ log/24/check-generated 2025-06-04 20:54:43.029698254 +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 == 45957[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 == 45957[LF] == Contents of files in the log/24/ 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 == 45957[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 == 45957[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind435 ../src/curl -q --include --trace-ascii log/24/trace435 --trace-config all --trace-time http://127.0.0.1:45957/435 http://127.0.0.1:45957/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/24/stdout435 2> log/24/stderr435 === End of file commands.log === Start of file http_server.log 20:54:42.599141 ====> Client connect 20:54:42.599170 accept_connection 3 returned 4 20:54:42.599187 accept_connection 3 returned 0 20:54:42.599200 Read 93 bytes 20:54:42.599210 Process 93 bytes request 20:54:42.599222 Got request: GET /verifiedserver HTTP/1.1 20:54:42.599231 Are-we-friendly question received 20:54:42.599254 Wrote request (93 bytes) input to log/24/server.input 20:54:42.599271 Identifying ourselves as friends 20:54:42.599322 Response sent (57 bytes) and written to log/24/server.response 20:54:42.599332 special request received, no persistency 20:54:42.599341 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind435 ==129425== ==129425== Process terminating with default action of signal 4 (SIGILL) ==129425== Illegal opcode at address 0x4003082 ==129425== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129425== by 0x4003082: main (tool_main.c:243) === End of file valgrind435 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/2/valgrind434 ../src/curl -q --output log/2/curl434.out --include --trace-ascii log/2/trace434 --trace-config all --trace-time -K log/2/config434 > log/2/stdout434 2> log/2/stderr434 434: 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 434 === Start of file commands.log ../libtool --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/valgrind434 ../src/curl -q --output log/2/curl434.out --include --trace-ascii log/2/trace434 --trace-config all --trace-time -K log/2/config434 > log/2/stdout434 2> log/2/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:43815/434 === End of file config434 === Start of file http_server.log 20:54:42.598701 ====> Client connect 20:54:42.598726 accept_connection 3 returned 4 20:54:42.598740 accept_connection 3 returned 0 20:54:42.598751 Read 93 bytes 20:54:42.598759 Process 93 bytes request 20:54:42.598769 Got request: GET /verifiedserver HTTP/1.1 20:54:42.598777 Are-we-friendly question received 20:54:42.598793 Wrote request (93 bytes) input to log/2/server.input 20:54:42.598806 Identifying ourselves as friends 20:54:42.598845 Response sent (57 bytes) and written to log/2/server.response 20:54:42.598852 special request received, no persistency 20:54:42.598859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind434 ==129421== ==129421== Process terminating with default action of signal 4 (SIGILL) ==129421== Illegal opcode at address 0x4003082 ==129421== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129421== by 0x4003082: main (tool_main.c:243) === End of file valgrind434 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/4/valgrind440 ../src/curl -q --include --trace-ascii log/4/trace440 --trace-config all --trace-time -x http://127.0.0.1:35779 http://this.hsts.example./440 --hsts log/4/input440 -w '%{url_effective}\n' > log/4/stdout440 2> log/4/stderr440 440: stdout FAILED: --- log/4/check-expected 2025-06-04 20:54:43.039698254 +0000 +++ log/4/check-generated 2025-06-04 20:54:43.039698254 +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/4/ 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 commands.log ../libtool --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/valgrind440 ../src/curl -q --include --trace-ascii log/4/trace440 --trace-config all --trace-time -x http://127.0.0.1:35779 http://this.hsts.example./440 --hsts log/4/input440 -w '%{url_effective}\n' > log/4/stdout440 2> log/4/stderr440 === End of file commands.log === Start of file http_server.log 20:54:42.608182 ====> Client connect 20:54:42.608207 accept_connection 3 returned 4 20:54:42.608219 accept_connection 3 returned 0 20:54:42.608229 Read 93 bytes 20:54:42.608237 Process 93 bytes request 20:54:42.608246 Got request: GET /verifiedserver HTTP/1.1 20:54:42.608252 Are-we-friendly question received 20:54:42.608269 Wrote request (93 bytes) input to log/4/server.input 20:54:42.608280 Identifying ourselves as friends 20:54:42.608320 Response sent (57 bytes) and written to log/4/server.response 20:54:42.608327 special request received, no persistency 20:54:42.608334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind440 ==129484== ==129484== Process terminating with default action of signal 4 (SIGILL) ==129484== Illegal opcode at address 0x4003082 ==129484== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129484== by 0x4003082: main (tool_main.c:243) === End of file valgrind440 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/15/valgrind449 ../src/curl -q --output log/15/curl449.out --include --trace-ascii log/15/trace449 --trace-config all --trace-time http://127.0.0.1:39051/449 -K log/15/cmd > log/15/stdout449 2> log/15/stderr449 449: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind449 ../src/curl -q --output log/15/curl449.out --include --trace-ascii log/15/trace449 --trace-config all --trace-time http://127.0.0.1:39051/449 -K log/15/cmd > log/15/stdout449 2> log/15/stderr449 === End of file commands.log === Start of file http_server.log 20:54:42.670084 ====> Client connect 20:54:42.670124 accept_connection 3 returned 4 20:54:42.670146 accept_connection 3 returned 0 20:54:42.670164 Read 93 bytes 20:54:42.670174 Process 93 bytes request 20:54:42.670214 Got request: GET /verifiedserver HTTP/1.1 20:54:42.670226 Are-we-friendly question received 20:54:42.670250 Wrote request (93 bytes) input to log/15/server.input 20:54:42.670266 Identifying ourselves as friends 20:54:42.670337 Response sent (57 bytes) and written to log/15/server.response 20:54:42.670347 special request received, no persistency 20:54:42.670356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind449 ==129870== ==129870== Process terminating with default action of signal 4 (SIGILL) ==129870== Illegal opcode at address 0x4003082 ==129870== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129870== by 0x4003082: main (tool_main.c:243) === End of file valgrind449 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/16/valgrind441 ../src/curl -q --include --trace-ascii log/16/trace441 --trace-config all --trace-time -x http://127.0.0.1:33409 http://this.hsts.example/441 --hsts log/16/input441 -w '%{url_effective}\n' > log/16/stdout441 2> log/16/stderr441 441: stdout FAILED: --- log/16/check-expected 2025-06-04 20:54:43.049698254 +0000 +++ log/16/check-generated 2025-06-04 20:54:43.049698254 +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/16/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind441 ../src/curl -q --include --trace-ascii log/16/trace441 --trace-config all --trace-time -x http://127.0.0.1:33409 http://this.hsts.example/441 --hsts log/16/input441 -w '%{url_effective}\n' > log/16/stdout441 2> log/16/stderr441 === End of file commands.log === Start of file http_server.log 20:54:42.619834 ====> Client connect 20:54:42.619860 accept_connection 3 returned 4 20:54:42.619875 accept_connection 3 returned 0 20:54:42.619887 Read 93 bytes 20:54:42.619896 Process 93 bytes request 20:54:42.619907 Got request: GET /verifiedserver HTTP/1.1 20:54:42.619915 Are-we-friendly question received 20:54:42.619934 Wrote request (93 bytes) input to log/16/server.input 20:54:42.619947 Identifying ourselves as friends 20:54:42.619993 Response sent (57 bytes) and written to log/16/server.response 20:54:42.620001 special request received, no persistency 20:54:42.620010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind441 ==129574== ==129574== Process terminating with default action of signal 4 (SIGILL) ==129574== Illegal opcode at address 0x4003082 ==129574== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129574== by 0x4003082: main (tool_main.c:243) === 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/17/valgrind442 ../src/curl -q --output log/17/curl442.out --include --trace-ascii log/17/trace442 --trace-config all --trace-time http://attack.invalid:35207/a/b/442 -b log/17/cookie442 --resolve attack.invalid:35207:127.0.0.1 -L > log/17/stdout442 2> log/17/stderr442 442: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 442 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind442 ../src/curl -q --output log/17/curl442.out --include --trace-ascii log/17/trace442 --trace-config all --trace-time http://attack.invalid:35207/a/b/442 -b log/17/cookie442 --resolve attack.invalid:35207:127.0.0.1 -L > log/17/stdout442 2> log/17/stderr442 === End of file commands.log === 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 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 20:54:42.636477 ====> Client connect 20:54:42.636506 accept_connection 3 returned 4 20:54:42.636521 accept_connection 3 returned 0 20:54:42.636533 Read 93 bytes 20:54:42.636541 Process 93 bytes request 20:54:42.636552 Got request: GET /verifiedserver HTTP/1.1 20:54:42.636560 Are-we-friendly question received 20:54:42.636580 Wrote request (93 bytes) input to log/17/server.input 20:54:42.636594 Identifying ourselves as friends 20:54:42.636644 Response sent (57 bytes) and written to log/17/server.response 20:54:42.636655 special request received, no persistency 20:54:42.636664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind442 ==129762== ==129762== Process terminating with default action of signal 4 (SIGILL) ==129762== Illegal opcode at address 0x4003082 ==129762== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129762== by 0x4003082: main (tool_main.c:243) === End of file valgrind442 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/18/valgrind443 ../src/curl -q --output log/18/curl443.out --include --trace-ascii log/18/trace443 --trace-config all --trace-time http://attack.invalid:34637/a/b/443 -b log/18/cookie443 --resolve attack.invalid:34637:127.0.0.1 -L > log/18/stdout443 2> log/18/stderr443 443: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind443 ../src/curl -q --output log/18/curl443.out --include --trace-ascii log/18/trace443 --trace-config all --trace-time http://attack.invalid:34637/a/b/443 -b log/18/cookie443 --resolve attack.invalid:34637:127.0.0.1 -L > log/18/stdout443 2> log/18/stderr443 === End of file commands.log === 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 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-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 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind456 ../src/curl -q --output log/21/curl456.out --include --trace-ascii log/21/trace456 --trace-config all --trace-time http://127.0.0.1:36793/456 --variable what@log/21/junk --expand-data "{{what}}" > log/21/stdout456 2> log/21/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/8/valgrind455 ../src/curl -q --output log/8/curl455.out --include --trace-ascii log/8/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35791/{{moby:b64}}/{{what:64dec}}/455" > log/8/stdout455 2> log/8/stderr455 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-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 20:54:42.657567 ====> Client connect 20:54:42.657597 accept_connection 3 returned 4 20:54:42.657613 accept_connection 3 returned 0 20:54:42.657627 Read 93 bytes 20:54:42.657637 Process 93 bytes request 20:54:42.657649 Got request: GET /verifiedserver HTTP/1.1 20:54:42.657658 Are-we-friendly question received 20:54:42.657681 Wrote request (93 bytes) input to log/18/server.input 20:54:42.657696 Identifying ourselves as friends 20:54:42.657747 Response sent (57 bytes) and written to log/18/server.response 20:54:42.657757 special request received, no persistency 20:54:42.657766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind443 ==129818== ==129818== Process terminating with default action of signal 4 (SIGILL) ==129818== Illegal opcode at address 0x4003082 ==129818== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==129818== by 0x4003082: main (tool_main.c:243) === End of file valgrind443 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/21/valgrind456 ../src/curl -q --output log/21/curl456.out --include --trace-ascii log/21/trace456 --trace-config all --trace-time http://127.0.0.1:36793/456 --variable what@log/21/junk --expand-data "{{what}}" > log/21/stdout456 2> log/21/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/21/ dir after test 456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind456 ../src/curl -q --output log/21/curl456.out --include --trace-ascii log/21/trace456 --trace-config all --trace-time http://127.0.0.1:36793/456 --variable what@log/21/junk --expand-data "{{what}}" > log/21/stdout456 2> log/21/stderr456 === End of file commands.log === Start of file http_server.log 20:54:42.867766 ====> Client connect 20:54:42.867800 accept_connection 3 returned 4 20:54:42.867818 accept_connection 3 returned 0 20:54:42.867832 Read 93 bytes 20:54:42.867841 Process 93 bytes request 20:54:42.867853 Got request: GET /verifiedserver HTTP/1.1 20:54:42.867863 Are-we-friendly question received 20:54:42.867886 Wrote request (93 bytes) input to log/21/server.input 20:54:42.867902 Identifying ourselves as friends 20:54:42.867961 Response sent (57 bytes) and written to log/21/server.response 20:54:42.867977 special request received, no persistency 20:54:42.867986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind456 ==130431== ==130431== Process terminating with default action of signal 4 (SIGILL) ==130431== Illegal opcode at address 0x4003082 ==130431== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130431== by 0x4003082: main (tool_main.c:243) === End of file valgrind456 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/8/valgrind455 ../src/curl -q --output log/8/curl455.out --include --trace-ascii log/8/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35791/{{moby:b64}}/{{what:64dec}}/455" > log/8/stdout455 2> log/8/stderr455 455: 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 455 === Start of file commands.log ../libtool --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/valgrind455 ../src/curl -q --output log/8/curl455.out --include --trace-ascii log/8/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35791/{{moby:b64}}/{{what:64dec}}/455" > log/8/stdout455 2> log/8/stderr455 === End of file commCMD (33792): ../libtool --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/valgrind460 ../src/curl -q --output log/1/curl460.out --include --trace-ascii log/1/trace460 --trace-config all --trace-time --expand-url > log/1/stdout460 2> log/1/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/23/valgrind458 ../src/curl -q --include --trace-ascii log/23/trace458 --trace-config all --trace-time http://127.0.0.1:38539/458 -K log/23/cmd > log/23/stdout458 2> log/23/stderr458 CMD (33792): ../libtool --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/valgrind457 ../src/curl -q --output log/5/curl457.out --include --trace-ascii log/5/trace457 --trace-config all --trace-time http://127.0.0.1:33725/457 --max-filesize 143 > log/5/stdout457 2> log/5/stderr457 ands.log === Start of file http_server.log 20:54:42.839145 ====> Client connect 20:54:42.839186 accept_connection 3 returned 4 20:54:42.839203 accept_connection 3 returned 0 20:54:42.839217 Read 93 bytes 20:54:42.839226 Process 93 bytes request 20:54:42.839239 Got request: GET /verifiedserver HTTP/1.1 20:54:42.839248 Are-we-friendly question received 20:54:42.839270 Wrote request (93 bytes) input to log/8/server.input 20:54:42.839285 Identifying ourselves as friends 20:54:42.839334 Response sent (57 bytes) and written to log/8/server.response 20:54:42.839343 special request received, no persistency 20:54:42.839351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind455 ==130384== ==130384== Process terminating with default action of signal 4 (SIGILL) ==130384== Illegal opcode at address 0x4003082 ==130384== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130384== by 0x4003082: main (tool_main.c:243) === End of file valgrind455 * 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/1/valgrind460 ../src/curl -q --output log/1/curl460.out --include --trace-ascii log/1/trace460 --trace-config all --trace-time --expand-url > log/1/stdout460 2> log/1/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/1/ dir after test 460 === Start of file commands.log ../libtool --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/valgrind460 ../src/curl -q --output log/1/curl460.out --include --trace-ascii log/1/trace460 --trace-config all --trace-time --expand-url > log/1/stdout460 2> log/1/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==130475== ==130475== Process terminating with default action of signal 4 (SIGILL) ==130475== Illegal opcode at address 0x4003082 ==130475== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130475== by 0x4003082: main (tool_main.c:243) === End of file valgrind460 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/23/valgrind458 ../src/curl -q --include --trace-ascii log/23/trace458 --trace-config all --trace-time http://127.0.0.1:38539/458 -K log/23/cmd > log/23/stdout458 2> log/23/stderr458 458: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/23/{{FUNVALUE}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind458 ../src/curl -q --include --trace-ascii log/23/trace458 --trace-config all --trace-time http://127.0.0.1:38539/458 -K log/23/cmd > log/23/stdout458 2> log/23/stderr458 === End of file commands.log === Start of file http_server.log 20:54:42.889078 ====> Client connect 20:54:42.889110 accept_connection 3 returned 4 20:54:42.889125 accept_connection 3 returned 0 20:54:42.889139 Read 93 bytes 20:54:42.889148 Process 93 bytes request 20:54:42.889161 Got request: GET /verifiedserver HTTP/1.1 20:54:42.889170 Are-we-friendly question received 20:54:42.889194 Wrote request (93 bytes) input to log/23/server.input 20:54:42.889209 Identifying ourselves as friends 20:54:42.889261 Response sent (57 bytes) and written to log/23/server.response 20:54:42.889272 special request received, no persistency 20:54:42.889283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind458 ==130501== ==130501== Process terminating with default action of signal 4 (SIGILL) ==130501== Illegal opcode at address 0x4003082 ==130501== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130501== by 0x4003082: main (tool_main.c:243) === End of file valgrind458 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/5/valgrind457 ../src/curl -q --output log/5/curl457.out --include --trace-ascii log/5/trace457 --trace-config all --trace-time http://127.0.0.1:33725/457 --max-filesize 143 > log/5/stdout457 2> log/5/stderr457 457: 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 457 === Start of file commands.log ../libtool --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/valgrind457 ../src/curl -q --output log/5/curl457.out --include --trace-ascii log/5/trace457 --trace-config all --trace-time http://127.0.0.1:33725/457 --max-filesize 143 > log/5/stdout457 2> log/5/stderr457 === End of file commands.log === Start of file http_server.log 20:54:42.889079 ====> Client connect 20:54:42.889112 accept_connection 3 returned 4 20:54:42.889130 accept_connection 3 returned 0 20:54:42.889143 Read 93 bytes 20:54:42.889154 Process 93 bytes request 20:54:42.889165 Got request: GET /verifiedserver HTTP/1.1 20:54:42.889174 Are-we-friendly question received 20:54:42.889199 Wrote request (93 bytes) input to log/5/server.input 20:54:42.889215 Identifying ourselves as friends 20:54:42.889270 Response sent (57 bytes) and written to log/5/server.response 20:54:42.889774 special request received, no persistency 20:54:42.889789 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === End of file http_verify.out === Start of file server.cmd Testnum 457 === End 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/20/valgrind459 ../src/curl -q --output log/20/curl459.out --include --trace-ascii log/20/trace459 --trace-config all --trace-time http://127.0.0.1:41293/459 --config log/20/config --silent > log/20/stdout459 2> log/20/stderr459 server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind457 ==130506== ==130506== Process terminating with default action of signal 4 (SIGILL) ==130506== Illegal opcode at address 0x4003082 ==130506== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130506== by 0x4003082: main (tool_main.c:243) === End of file valgrind457 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind461 ../src/curl -q --output log/22/curl461.out --include --trace-ascii log/22/trace461 --trace-config all --trace-time http://127.0.0.1:44239/461 -H host: > log/22/stdout461 2> log/22/stderr461 CMD (33792): ../libtool --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/valgrind462 ../src/curl -q --output log/11/curl462.out --include --trace-ascii log/11/trace462 --trace-config all --trace-time http://127.0.0.1:44265/462 -K log/11/cmd > log/11/stdout462 2> log/11/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/13/valgrind463 ../src/curl -q --output log/13/curl463.out --include --trace-ascii log/13/trace463 --trace-config all --trace-time -d @log/13/input463 http://127.0.0.1:44987/463 > log/13/stdout463 2> log/13/stderr463 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/20/valgrind459 ../src/curl -q --output log/20/curl459.out --include --trace-ascii log/20/trace459 --trace-config all --trace-time http://127.0.0.1:41293/459 --config log/20/config --silent > log/20/stdout459 2> log/20/stderr459 459: stderr FAILED: --- log/20/check-expected 2025-06-04 20:54:43.293031593 +0000 +++ log/20/check-generated 2025-06-04 20:54:43.293031593 +0000 @@ -1,2 +0,0 @@ -Warning: log/20/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/20/ dir after test 459 === Start of file check-expected Warning: log/20/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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind459 ../src/curl -q --output log/20/curl459.out --include --trace-ascii log/20/trace459 --trace-config all --trace-time http://127.0.0.1:41293/459 --config log/20/config --silent > log/20/stdout459 2> log/20/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 20:54:42.909007 ====> Client connect 20:54:42.909041 accept_connection 3 returned 4 20:54:42.909059 accept_connection 3 returned 0 20:54:42.909073 Read 93 bytes 20:54:42.909082 Process 93 bytes request 20:54:42.909096 Got request: GET /verifiedserver HTTP/1.1 20:54:42.909105 Are-we-friendly question received 20:54:42.909126 Wrote request (93 bytes) input to log/20/server.input 20:54:42.909141 Identifying ourselves as friends 20:54:42.909193 Response sent (57 bytes) and written to log/20/server.response 20:54:42.909203 special request received, no persistency 20:54:42.909211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind459 ==130590== ==130590== Process terminating with default action of signal 4 (SIGILL) ==130590== Illegal opcode at address 0x4003082 ==130590== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130590== by 0x4003082: main (tool_main.c:243) === End of file valgrind459 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/22/valgrind461 ../src/curl -q --output log/22/curl461.out --include --trace-ascii log/22/trace461 --trace-config all --trace-time http://127.0.0.1:44239/461 -H host: > log/22/stdout461 2> log/22/stderr461 461: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 461 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind461 ../src/curl -q --output log/22/curl461.out --include --trace-ascii log/22/trace461 --trace-config all --trace-time http://127.0.0.1:44239/461 -H host: > log/22/stdout461 2> log/22/stderr461 === End of file commands.log === Start of file http_server.log 20:54:43.008224 ====> Client connect 20:54:43.008295 accept_connection 3 returned 4 20:54:43.008314 accept_connection 3 returned 0 20:54:43.008329 Read 93 bytes 20:54:43.008339 Process 93 bytes request 20:54:43.008352 Got request: GET /verifiedserver HTTP/1.1 20:54:43.008361 Are-we-friendly question received 20:54:43.008386 Wrote request (93 bytes) input to log/22/server.input 20:54:43.008402 Identifying ourselves as friends 20:54:43.008457 Response sent (57 bytes) and written to log/22/server.response 20:54:43.008467 special request received, no persistency 20:54:43.008476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind461 ==130750== ==130750== Process terminating with default action of signal 4 (SIGILL) ==130750== Illegal opcode at address 0x4003082 ==130750== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130750== by 0x4003082: main (tool_main.c:243) === 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/11/valgrind462 ../src/curl -q --output log/11/curl462.out --include --trace-ascii log/11/trace462 --trace-config all --trace-time http://127.0.0.1:44265/462 -K log/11/cmd > log/11/stdout462 2> log/11/stderr462 curl returned 132, when expecting 26 462: exit FAILED == Contents of files in the log/11/ dir after test 462 === Start of file cmd variable %MISSING expand-data {{MISSING}} === End of file cmd === Start of file commands.log ../libtool --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/valgrind462 ../src/curl -q --output log/11/curl462.out --include --trace-ascii log/11/trace462 --trace-config all --trace-time http://127.0.0.1:44265/462 -K log/11/cmd > log/11/stdout462 2> log/11/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==130803== ==130803== Process terminating with default action of signal 4 (SIGILL) ==130803== Illegal opcode at address 0x4003082 ==130803== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130803== by 0x4003082: main (tool_main.c:243) === End of file valgrind462 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/13/valgrind463 ../src/curl -q --output log/13/curl463.out --include --trace-ascii log/13/trace463 --trace-config all --trace-time -d @log/13/input463 http://127.0.0.1:44987/463 > log/13/stdout463 2> log/13/stderr463 463: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 463 === Start of file commands.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/7/valgrind467 ../src/curl -q --output log/7/curl467.out --include --trace-ascii log/7/trace467 --trace-config all --trace-time curl -v http://example.com > log/7/stdout467 2> log/7/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/17/valgrind479 ../src/curl -q --output log/17/curl479.out --include --trace-ascii log/17/trace479 --trace-config all --trace-time --netrc --netrc-file log/17/netrc479 -L -x http://127.0.0.1:35207/ http://a.com/ > log/17/stdout479 2> log/17/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/18/valgrind478 ../src/curl -q --output log/18/curl478.out --include --trace-ascii log/18/trace478 --trace-config all --trace-time --netrc --netrc-file log/18/netrc478 -x http://127.0.0.1:34637/ http://debbie@github.com/ > log/18/stdout478 2> log/18/stderr478 ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind463 ../src/curl -q --output log/13/curl463.out --include --trace-ascii log/13/trace463 --trace-config all --trace-time -d @log/13/input463 http://127.0.0.1:44987/463 > log/13/stdout463 2> log/13/stderr463 === End of file commands.log === Start of file http_server.log 20:54:43.118587 ====> Client connect 20:54:43.118613 accept_connection 3 returned 4 20:54:43.118628 accept_connection 3 returned 0 20:54:43.118639 Read 93 bytes 20:54:43.118648 Process 93 bytes request 20:54:43.118660 Got request: GET /verifiedserver HTTP/1.1 20:54:43.118667 Are-we-friendly question received 20:54:43.118686 Wrote request (93 bytes) input to log/13/server.input 20:54:43.118699 Identifying ourselves as friends 20:54:43.118743 Response sent (57 bytes) and written to log/13/server.response 20:54:43.118752 special request received, no persistency 20:54:43.118760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file valgrind463 ==130867== ==130867== Process terminating with default action of signal 4 (SIGILL) ==130867== Illegal opcode at address 0x4003082 ==130867== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130867== by 0x4003082: main (tool_main.c:243) === End of file valgrind463 * 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/7/valgrind467 ../src/curl -q --output log/7/curl467.out --include --trace-ascii log/7/trace467 --trace-config all --trace-time curl -v http://example.com > log/7/stdout467 2> log/7/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/7/ dir after test 467 === Start of file commands.log ../libtool --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/valgrind467 ../src/curl -q --output log/7/curl467.out --include --trace-ascii log/7/trace467 --trace-config all --trace-time curl -v http://example.com > log/7/stdout467 2> log/7/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==130925== ==130925== Process terminating with default action of signal 4 (SIGILL) ==130925== Illegal opcode at address 0x4003082 ==130925== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==130925== by 0x4003082: main (tool_main.c:243) === End of file valgrind467 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/17/valgrind479 ../src/curl -q --output log/17/curl479.out --include --trace-ascii log/17/trace479 --trace-config all --trace-time --netrc --netrc-file log/17/netrc479 -L -x http://127.0.0.1:35207/ http://a.com/ > log/17/stdout479 2> log/17/stderr479 479: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind479 ../src/curl -q --output log/17/curl479.out --include --trace-ascii log/17/trace479 --trace-config all --trace-time --netrc --netrc-file log/17/netrc479 -L -x http://127.0.0.1:35207/ http://a.com/ > log/17/stdout479 2> log/17/stderr479 === End of file commands.log === Start of file http_server.log 20:54:43.312114 ====> Client connect 20:54:43.312147 accept_connection 3 returned 4 20:54:43.312164 accept_connection 3 returned 0 20:54:43.312178 Read 93 bytes 20:54:43.312189 Process 93 bytes request 20:54:43.312200 Got request: GET /verifiedserver HTTP/1.1 20:54:43.312210 Are-we-friendly question received 20:54:43.312236 Wrote request (93 bytes) input to log/17/server.input 20:54:43.312253 Identifying ourselves as friends 20:54:43.312309 Response sent (57 bytes) and written to log/17/server.response 20:54:43.312321 special request received, no persistency 20:54:43.312330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind479 ==131502== ==131502== Process terminating with default action of signal 4 (SIGILL) ==131502== Illegal opcode at address 0x4003082 ==131502== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131502== by 0x4003082: main (tool_main.c:243) === End of file valgrind479 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/18/valgrind478 ../src/curl -q --output log/18/curl478.out --include --trace-ascii log/18/trace478 --trace-config all --trace-time --netrc --netrc-file log/18/netrc478 -x http://127.0.0.1:34637/ http://debbie@github.com/ > log/18/stdout478 2> log/18/stderr478 478: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 478 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind478 ../src/curl -q --output log/18/curl478.out --include --trace-ascii log/18/trace478 --trace-config all --trace-time --netrc --netrc-file log/18/netrc478 -x http://127.0.0.1:34637/ http://debbie@github.com/ > log/18/stdout478 2> log/18/stderr478 === End of file commands.log === Start of file http_server.log 20:54:43.310234 ====> Client connect 20:54:43.310263 accept_connection 3 returned 4 20:54:43.310281 accept_connection 3 returned 0 20:54:43.310294 Read 93 bytes 20:54:43.310304 Process 93 bytes request 20:54:43.310315 Got request: GET /verifiedserver HTTP/1.1 20:54:43.310324 Are-we-friendly question received 20:54:43.310348 Wrote request (93 bytes) input to log/18/server.input 20:54:43.310365 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/19/valgrind470 ../src/curl -q --output log/19/curl470.out --include --trace-ascii log/19/trace470 --trace-config all --trace-time 127.0.0.1:46549 --no-progress-meter -K "log/19/input470" > log/19/stdout470 2> log/19/stderr470 CMD (33792): ../libtool --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/valgrind483 ../src/curl -q --output log/2/curl483.out --include --trace-ascii log/2/trace483 --trace-config all --trace-time http://127.0.0.1:43815/483 -c log/2/c483 > log/2/stdout483 2> log/2/stderr483 20:54:43.310416 Response sent (57 bytes) and written to log/18/server.response 20:54:43.310426 special request received, no persistency 20:54:43.310434 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.1 > Accept: */* > < 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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind478 ==131470== ==131470== Process terminating with default action of signal 4 (SIGILL) ==131470== Illegal opcode at address 0x4003082 ==131470== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131470== by 0x4003082: main (tool_main.c:243) === End of file valgrind478 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind471 ../src/curl -q --include --trace-ascii log/14/trace471 --trace-config all --trace-time "http://127.0.0.1:35661/{471,4710001}" -o "log/14/dumpit#1.dump" > log/14/stdout471 2> log/14/stderr471 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/19/valgrind470 ../src/curl -q --output log/19/curl470.out --include --trace-ascii log/19/trace470 --trace-config all --trace-time 127.0.0.1:46549 --no-progress-meter -K "log/19/input470" > log/19/stdout470 2> log/19/stderr470 470: stderr FAILED: --- log/19/check-expected 2025-06-04 20:54:43.583031601 +0000 +++ log/19/check-generated 2025-06-04 20:54:43.583031601 +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/19/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind470 ../src/curl -q --output log/19/curl470.out --include --trace-ascii log/19/trace470 --trace-config all --trace-time 127.0.0.1:46549 --no-progress-meter -K "log/19/input470" > log/19/stdout470 2> log/19/stderr470 === End of file commands.log === Start of file http_server.log 20:54:43.211361 ====> Client connect 20:54:43.211390 accept_connection 3 returned 4 20:54:43.211406 accept_connection 3 returned 0 20:54:43.211418 Read 93 bytes 20:54:43.211427 Process 93 bytes request 20:54:43.211437 Got request: GET /verifiedserver HTTP/1.1 20:54:43.211446 Are-we-friendly question received 20:54:43.211468 Wrote request (93 bytes) input to log/19/server.input 20:54:43.211482 Identifying ourselves as friends 20:54:43.211532 Response sent (57 bytes) and written to log/19/server.response 20:54:43.211541 special request received, no persistency 20:54:43.211549 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind470 ==131071== ==131071== Process terminating with default action of signal 4 (SIGILL) ==131071== Illegal opcode at address 0x4003082 ==131071== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131071== by 0x4003082: main (tool_main.c:243) === End of file valgrind470 test 0483...[HTTP cookies with long expire dates] ../libtool --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/valgrind483 ../src/curl -q --output log/2/curl483.out --include --trace-ascii log/2/trace483 --trace-config all --trace-time http://127.0.0.1:43815/483 -c log/2/c483 > log/2/stdout483 2> log/2/stderr483 483: 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 483 === Start of file commands.log ../libtool --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/valgrind483 ../src/curl -q --output log/2/curl483.out --include --trace-ascii log/2/trace483 --trace-config all --trace-time http://127.0.0.1:43815/483 -c log/2/c483 > log/2/stdout483 2> log/2/stderr483 === End of file commands.log === Start of file http_server.log 20:54:43.309501 ====> Client connect 20:54:43.309539 accept_connection 3 returned 4 20:54:43.309558 accept_connection 3 returned 0 20:54:43.309573 Read 93 bytes 20:54:43.309583 Process 93 bytes request 20:54:43.309600 Got request: GET /verifiedserver HTTP/1.1 20:54:43.309610 Are-we-friendly question received 20:54:43.309634 Wrote request (93 bytes) input to log/2/server.input 20:54:43.309650 Identifying ourselves as friends 20:54:43.309703 Response sent (57 bytes) and written to log/2/server.response 20:54:43.309712 special request received, no persistency 20:54:43.309722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === End of file http_verify.out === Start of file server.cmd Testnum 483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind483 ==131467== ==131467== Process terminating with default action of signal 4 (SIGILL) ==131467== Illegal opcode at address 0x4003082 ==131467== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131467== by 0x4003082: main (tool_main.c:243) === End of file valgrind483 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/14/valgrind471 ../src/curl -q --include --trace-ascii log/14/trace471 --trace-config all --trace-time "http://127.0.0.1:35661/{471,4710001}" -o "log/14/dumpit#1.dump" > log/14/stdout471 2> log/14/stderr471 471: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 471 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind471 ../src/curl -q --include --trace-ascii log/14/trace471 --trace-config all --trace-time "http://127.0.0.1:35661/{471,4710001}" -o "log/14/dumpit#1.dump" > log/14/stdout471 2> log/14/stderr471 === End of file commands.log === Start of file http_server.log 20:54:43.211769 ====> Client connect 20:54:43.211803 accept_connection 3 returned 4 20:54:43.211820 accept_connection 3 returned 0 20:54:43.211833 Read 93 bytes 20:54:43.211842 Process 93 bytes request 20:54:43.211852 Got request: GET /verifiedserver HTTP/1.1 20:54:43.211860 Are-we-friendly question received 20:54:43.211882 Wrote request (93 bytes) input to log/14/server.input 20:54:43.211896 Identifying ourselves as friends 20:54:43.211952 Response sent (57 bytes) and written to log/14/server.response 20:54:43.211961 special request received, no persistency 20:54:43.211969 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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.CMD (33792): ../libtool --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/valgrind469 ../src/curl -q --output log/10/curl469.out --include --trace-ascii log/10/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:43831/“ -s > log/10/stdout469 2> log/10/stderr469 out WE ROOLZ: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind471 ==131091== ==131091== Process terminating with default action of signal 4 (SIGILL) ==131091== Illegal opcode at address 0x4003082 ==131091== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131091== by 0x4003082: main (tool_main.c:243) === 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/12/valgrind468 ../src/curl -q --trace-ascii log/12/trace468 --trace-config all --trace-time http://127.0.0.1:33337/468 -K log/12/cmd468 -w "" > log/12/stdout468 2> log/12/stderr468 CMD (33792): ../libtool --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/valgrind473 ../src/curl -q --output log/6/curl473.out --include --trace-ascii log/6/trace473 --trace-config all --trace-time http://127.0.0.1:38475/473 --etag-save log/6/etag473 > log/6/stdout473 2> log/6/stderr473 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/10/valgrind469 ../src/curl -q --output log/10/curl469.out --include --trace-ascii log/10/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:43831/“ -s > log/10/stdout469 2> log/10/stderr469 469: stderr FAILED: --- log/10/check-expected 2025-06-04 20:54:43.606364935 +0000 +++ log/10/check-generated 2025-06-04 20:54:43.606364935 +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/10/ 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 commands.log ../libtool --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/valgrind469 ../src/curl -q --output log/10/curl469.out --include --trace-ascii log/10/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:43831/“ -s > log/10/stdout469 2> log/10/stderr469 === End of file commands.log === Start of file http_server.log 20:54:43.205522 ====> Client connect 20:54:43.205560 accept_connection 3 returned 4 20:54:43.205577 accept_connection 3 returned 0 20:54:43.205591 Read 93 bytes 20:54:43.205600 Process 93 bytes request 20:54:43.205612 Got request: GET /verifiedserver HTTP/1.1 20:54:43.205622 Are-we-friendly question received 20:54:43.205643 Wrote request (93 bytes) input to log/10/server.input 20:54:43.205659 Identifying ourselves as friends 20:54:43.205708 Response sent (57 bytes) and written to log/10/server.response 20:54:43.205717 special request received, no persistency 20:54:43.205726 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind469 ==131041== ==131041== Process terminating with default action of signal 4 (SIGILL) ==131041== Illegal opcode at address 0x4003082 ==131041== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131041== by 0x4003082: main (tool_main.c:243) === End of file valgrind469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind477 ../src/curl -q --output log/24/curl477.out --include --trace-ascii log/24/trace477 --trace-config all --trace-time http://127.0.0.1:45957/477 --max-filesize 5 -L > log/24/stdout477 2> log/24/stderr477 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/12/valgrind468 ../src/curl -q --trace-ascii log/12/trace468 --trace-config all --trace-time http://127.0.0.1:33337/468 -K log/12/cmd468 -w "" > log/12/stdout468 2> log/12/stderr468 468: stdout FAILED: --- log/12/check-expected 2025-06-04 20:54:43.629698269 +0000 +++ log/12/check-generated 2025-06-04 20:54:43.629698269 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/12/ 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 commands.log ../libtool --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/valgrind468 ../src/curl -q --trace-ascii log/12/trace468 --trace-config all --trace-time http://127.0.0.1:33337/468 -K log/12/cmd468 -w "" > log/12/stdout468 2> log/12/stderr468 === End of file commands.log === Start of file http_server.log 20:54:43.204994 ====> Client connect 20:54:43.205030 accept_connection 3 returned 4 20:54:43.205047 accept_connection 3 returned 0 20:54:43.205060 Read 93 bytes 20:54:43.205069 Process 93 bytes request 20:54:43.205081 Got request: GET /verifiedserver HTTP/1.1 20:54:43.205090 Are-we-friendly question received 20:54:43.205155 Wrote request (93 bytes) input to log/12/server.input 20:54:43.205171 Identifying ourselves as friends 20:54:43.205221 Response sent (57 bytes) and written to log/12/server.response 20:54:43.205229 special request received, no persistency 20:54:43.205235 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind468 ==131044== ==131044== Process terminating with default action of signal 4 (SIGILL) ==131044== Illegal opcode at address 0x4003082 ==131044== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131044== by 0x4003082: main (tool_main.c:243) === End of file valgrind468 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/6/valgrind473 ../src/curl -q --output log/6/curl473.out --include --trace-ascii log/6/trace473 --trace-config all --trace-time http://127.0.0.1:38475/473 --etag-save log/6/etag473 > log/6/stdout473 2> log/6/stderr473 473: 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 473 === Start of file commands.log ../libtool --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/valgrind473 ../src/curl -q --output log/6/curl473.out --include --trace-ascii log/6/trace473 --trace-config all --trace-time http://127.0.0.1:38475/473 --etag-save log/6/etag473 > log/6/stdout473 2> log/6/stderr473 === End of file commands.log === Start of file http_server.log 20:54:43.223283 ====> Client connect 20:54:43.223318 accept_connection 3 returned 4 20:54:43.223337 accept_connection 3 returned 0 20:54:43.223351 Read 93 bytes 20:54:43.223361 Process 93 bytes request 20:54:43.223374 Got request: GET /verifiedserver HTTP/1.1 20:54:43.223383 Are-we-friendly question received 20:54:43.223404 Wrote request (93 bytes) input to log/6/server.input 20:54:43.223419 Identifying ourselves as friends 20:54:43.223485 Response sent (57 bytes) and written to log/6/server.response 20:54:43.223494 special request received, no persistency 20:54:43.223503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind473 ==131133== ==131133== Process terminating with default action of signal 4 (SIGILL) ==131133== Illegal opcode at address 0x4003082 ==131133== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131133== by 0x4003082: main (tool_main.c:243) === End of file valgrind473 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/24/valgrind477 ../src/curl -q --output log/24/curl477.out --include --trace-ascii log/24/trace477 --trace-config all --trace-time http://127.0.0.1:45957/477 --max-filesize 5 -L > log/24/stdout477 2> log/24/stderr477 477: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 477 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind477 ../src/curl -q --output log/24/curl477.out --include --trace-ascii log/24/trace477 --trace-config all --trace-time http://127.0.0.1:45957/477 --max-filesize 5 -L > log/24/stdout477 2> log/24/stderr477 === End of file commands.log === Start of file http_server.log 20:54:43.288311 ====> Client connect 20:54:43.288344 accept_connection 3 returned 4 20:54:43.288362 accept_connection 3 returned 0 20:54:43.288377 Read 93 bytes 20:54:43.288387 Process 93 bytes request 20:54:43.288400 Got request: GET /verifiedserver HTTP/1.1 20:54:43.288409 Are-we-friendly question received 20:54:43.288434 Wrote request (93 bytes) input to log/24/server.input 20:54:43.288449 Identifying ourselves as friends 20:54:43.288510 Response sent (57 bytes) and written to log/24/server.response 20:54:43.288521 special request received, no persistency 20:54:43.288529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind477 ==131442== ==131442== ProcesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind481 ../src/curl -q --trace-ascii log/15/trace481 --trace-config all --trace-time http://127.0.0.1:39051/481 --no-clobber -C 1 -o "log/15/481" > log/15/stdout481 2> log/15/stderr481 CMD (33792): ../libtool --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/valgrind475 ../src/curl -q --output log/3/curl475.out --include --trace-ascii log/3/trace475 --trace-config all --trace-time "ftp://127.0.0.1:39117/475;type=a" -T log/3/test475.txt > log/3/stdout475 2> log/3/stderr475 CMD (33792): ../libtool --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/valgrind482 ../src/curl -q --trace-ascii log/4/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/4/482" > log/4/stdout482 2> log/4/stderr482 s terminating with default action of signal 4 (SIGILL) ==131442== Illegal opcode at address 0x4003082 ==131442== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131442== by 0x4003082: main (tool_main.c:243) === End of file valgrind477 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/4/valgrind482 ../src/curl -q --trace-ascii log/4/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/4/482" > log/4/stdout482 2> log/4/stderr482 482: stderr FAILED: --- log/4/check-expected 2025-06-04 20:54:43.656364935 +0000 +++ log/4/check-generated 2025-06-04 20:54:43.656364935 +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/4/ 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 commands.log ../libtool --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/valgrind482 ../src/curl -q --trace-ascii log/4/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/4/482" > log/4/stdout482 2> log/4/stderr482 === End of file commands.log === Start of file http_server.log 20:54:43.312035 ====> Client connect 20:54:43.312067 accept_connection 3 returned 4 20:54:43.312084 accept_connection 3 returned 0 20:54:43.312098 Read 93 bytes 20:54:43.312108 Process 93 bytes request 20:54:43.312119 Got request: GET /verifiedserver HTTP/1.1 20:54:43.312129 Are-we-friendly question received 20:54:43.312153 Wrote request (93 bytes) input to log/4/server.input 20:54:43.312169 Identifying ourselves as friends 20:54:43.312224 Response sent (57 bytes) and written to log/4/server.response 20:54:43.312235 special request received, no persistency 20:54:43.312244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind482 ==131469== ==131469== Process terminating with default action of signal 4 (SIGILL) ==131469== Illegal opcode at address 0x4003082 ==131469== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131469== by 0x4003082: main (tool_main.c:243) === End of file valgrind482 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/15/valgrind481 ../src/curl -q --trace-ascii log/15/trace481 --trace-config all --trace-time http://127.0.0.1:39051/481 --no-clobber -C 1 -o "log/15/481" > log/15/stdout481 2> log/15/stderr481 481: stderr FAILED: --- log/15/check-expected 2025-06-04 20:54:43.663031602 +0000 +++ log/15/check-generated 2025-06-04 20:54:43.663031602 +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/15/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind481 ../src/curl -q --trace-ascii log/15/trace481 --trace-config all --trace-time http://127.0.0.1:39051/481 --no-clobber -C 1 -o "log/15/481" > log/15/stdout481 2> log/15/stderr481 === End of file commands.log === Start of file http_server.log 20:54:43.311168 ====> Client connect 20:54:43.311196 accept_connection 3 returned 4 20:54:43.311213 accept_connection 3 returned 0 20:54:43.311227 Read 93 bytes 20:54:43.311237 Process 93 bytes request 20:54:43.311249 Got request: GET /verifiedserver HTTP/1.1 20:54:43.311258 Are-we-friendly question received 20:54:43.311280 Wrote request (93 bytes) input to log/15/server.input 20:54:43.311295 Identifying ourselves as friends 20:54:43.311344 Response sent (57 bytes) and written to log/15/server.response 20:54:43.311355 special request received, no persistency 20:54:43.311364 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind481 ==131466== ==131466== Process terminating with default action of signal 4 (SIGILL) ==131466== Illegal opcode at address 0x4003082 ==131466== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131466== by 0x4003082: main (tool_main.c:243) === End of file valgrind481 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/3/valgrind475 ../src/curl -q --output log/3/curl475.out --include --trace-ascii log/3/trace475 --trace-config all --trace-time "ftp://127.0.0.1:39117/475;type=a" -T log/3/test475.txt > log/3/stdout475 2> log/3/stderr475 475: 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 475 === Start of file commands.log ../libtool --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/valgrind475 ../src/curl -q --output log/3/curl475.out --include --trace-ascii log/3/trace475 --trace-config all --trace-time "ftp://127.0.0.1:39117/475;type=a" -T log/3/test475.txt > log/3/stdout475 2> log/3/stderr475 === End of file commands.log === Start of file ftp_server.log 20:54:43.032403 ====> Client connect 20:54:43.032663 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:43.033273 < "USER anonymous" 20:54:43.033308 > "331 We are happy you popped in![CR][LF]" 20:54:43.033453 < "PASS ftp@example.com" 20:54:43.033476 > "230 Welcome you silly person[CR][LF]" 20:54:43.033627 < "PWD" 20:54:43.033654 > "257 "/" is current directory[CR][LF]" 20:54:43.033787 < "EPSV" 20:54:43.033810 ====> Passive DATA channel requested by client 20:54:43.033821 DATA sockfilt for passive data channel starting... 20:54:43.036029 DATA sockfilt for passive data channel started (pid 131231) 20:54:43.036130 DATA sockfilt for passive data channel listens on port 43861 20:54:43.036167 > "229 Entering Passive Mode (|||43861|)[LF]" 20:54:43.036185 Client has been notified that DATA conn will be accepted on port 43861 20:54:43.036434 Client connects to port 43861 20:54:43.036463 ====> Client established passive DATA connection on port 43861 20:54:43.036528 < "TYPE I" 20:54:43.036553 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:43.036694 < "SIZE verifiedserver" 20:54:43.036725 > "213 18[CR][LF]" 20:54:43.036861 < "RETR verifiedserver" 20:54:43.036890 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:43.036966 =====> Closing passive DATA connection... 20:54:43.036981 Server disconnects passive DATA connection 20:54:43.037981 Server disconnected passive DATA connection 20:54:43.038015 DATA sockfilt for passive data channel quits (pid 131231) 20:54:43.038248 DATA sockfilt for passive data channel quit (pid 131231) 20:54:43.038271 =====> Closed passive DATA connection 20:54:43.038293 > "226 File transfer complete[CR][LF]" 20:54:43.079112 < "QUIT" 20:54:43.079161 > "221 bye bye baby[CR][LF]" 20:54:43.079579 MAIN sockfilt said DISC 20:54:43.079604 ====> Client disconnected 20:54:43.079669 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:43.250646 ====> Client connect 20:54:43.254196 Received DATA (on stdin) 20:54:43.254214 > 160 bytes data, server => client 20:54:43.254226 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:43.254237 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:43.254247 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:43.254643 < 16 bytes data, client => server 20:54:43.254661 'USER anonymous\r\n' 20:54:43.254822 Received DATA (on stdin) 20:54:43.254834 > 33 bytes data, server => client 20:54:43.254843 '331 We are happy you popped in!\r\n' 20:54:43.254889 < 22 bytes data, client => server 20:54:43.254899 'PASS ftp@example.com\r\n' 20:54:43.254986 Received DATA (on stdin) 20:54:43.254996 > 30 bytes data, server => client 20:54:43.255007 '230 Welcome you silly person\r\n' 20:54:43.255049 < 5 bytes data, client => server 20:54:43.255076 'PWD\r\n' 20:54:43.255164 Received DATA (on stdin) 20:54:43.255174 > 30 bytes data, server => client 20:54:43.255184 '257 "/" is current directory\r\n' 20:54:43.255232 < 6 bytes data, client => server 20:54:43.255242 'EPSV\r\n' 20:54:43.257702 Received DATA (on stdin) 20:54:43.257717 > 38 bytes data, server => client 20:54:43.257729 '229 Entering Passive Mode (|||43861|)\n' 20:54:43.257868 < 8 bytes data, client => server 20:54:43.257883 'TYPE I\r\n' 20:54:43.258065 Received DATA (on stdin) 20:54:43.258077 > 33 bytes data, server => client 20:54:43.258087 '200 I modify TYPE as you wanted\r\n' 20:54:43.258132 < 21 bytes data, client => server 20:54:43.258143 'SIZE verifiedserver\r\n' 20:54:43.258238 Received DATA (on stdin) 20:54:43.258249 > 8 bytes data, server => client 20:54:43.258259 '213 18\r\n' 20:54:43.258301 < 21 bytes data, client => server 20:54:43.258312 'RETR verifiedserver\r\n' 20:54:43.259759 Received DATA (on stdin) 20:54:43.259781 > 29 bytes data, server => client 20:54:43.259793 '150 Binary junk (18 bytes).\r\n' 20:54:43.259818 Received DATA (on stdin) 20:54:43.259828 > 28 bytes data, server => client 20:54:43.259838 '226 File transfer complete\r\n' 20:54:43.300458 < 6 bytes data, client => server 20:54:43.300484 'QUIT\r\n' 20:54:43.300676 Received DATA (on stdin) 20:54:43.300688 > 18 bytes data, server => client 20:54:43.300698 '221 bye bye baby\r\n' 20:54:43.301043 ====> Client disconnect 20:54:43.301180 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:43.256676 Running IPv4 version 20:54:43.256724 Listening on port 43861 20:54:43.256756 Wrote pid 131231 to log/3/server/ftp_sockdata.pid 20:54:43.257483 Received PING (on stdin) 20:54:43.257564 Received PORT (on stdin) 20:54:43.257904 ====> Client connect 20:54:43.259161 Received DATA (on stdin) 20:54:43.259193 > 18 bytes data, server => client 20:54:43.259204 'WE ROOLZ: 110703\r\n' 20:54:43.259272 Received DISC (on stdin) 20:54:43.259287 ====> Client forcibly disconnected 20:54:43.259538 Received QUIT (on stdin) 20:54:43.259552 quits 20:54:43.259613 ============> 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 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/9/valgrind476 ../src/curl -q --output log/9/curl476.out --include --trace-ascii log/9/trace476 --trace-config all --trace-time "ftp://127.0.0.1:39489/476;type=a" -T log/9/test476.txt > log/9/stdout476 2> log/9/stderr476 rifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==131549== ==131549== Process terminating with default action of signal 4 (SIGILL) ==131549== Illegal opcode at address 0x4003082 ==131549== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131549== by 0x4003082: main (tool_main.c:243) === End of file valgrind475 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/9/valgrind476 ../src/curl -q --output log/9/curl476.out --include --trace-ascii log/9/trace476 --trace-config all --trace-time "ftp://127.0.0.1:39489/476;type=a" -T log/9/test476.txt > log/9/stdout476 2> log/9/stderr476 476: 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 476 === Start of file commands.log ../libtool --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/valgrind476 ../src/curl -q --output log/9/curl476.out --include --trace-ascii log/9/trace476 --trace-config all --trace-time "ftp://127.0.0.1:39489/476;type=a" -T log/9/test476.txt > log/9/stdout476 2> log/9/stderr476 === End of file commands.log === Start of file ftp_server.log 20:54:43.057355 ====> Client connect 20:54:43.057611 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:43.057973 < "USER anonymous" 20:54:43.058014 > "331 We are happy you popped in![CR][LF]" 20:54:43.058182 < "PASS ftp@example.com" 20:54:43.058249 > "230 Welcome you silly person[CR][LF]" 20:54:43.058550 < "PWD" 20:54:43.058591 > "257 "/" is current directory[CR][LF]" 20:54:43.058827 < "EPSV" 20:54:43.058869 ====> Passive DATA channel requested by client 20:54:43.058882 DATA sockfilt for passive data channel starting... 20:54:43.060519 DATA sockfilt for passive data channel started (pid 131357) 20:54:43.060631 DATA sockfilt for passive data channel listens on port 38793 20:54:43.060679 > "229 Entering Passive Mode (|||38793|)[LF]" 20:54:43.060700 Client has been notified that DATA conn will be accepted on port 38793 20:54:43.060872 Client connects to port 38793 20:54:43.060894 ====> Client established passive DATA connection on port 38793 20:54:43.060953 < "TYPE I" 20:54:43.060983 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:43.061126 < "SIZE verifiedserver" 20:54:43.061166 > "213 18[CR][LF]" 20:54:43.061291 < "RETR verifiedserver" 20:54:43.061328 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:43.061404 =====> Closing passive DATA connection... 20:54:43.061419 Server disconnects passive DATA connection 20:54:43.061496 Server disconnected passive DATA connection 20:54:43.061519 DATA sockfilt for passive data channel quits (pid 131357) 20:54:43.061748 DATA sockfilt for passive data channel quit (pid 131357) 20:54:43.061772 =====> Closed passive DATA connection 20:54:43.061798 > "226 File transfer complete[CR][LF]" 20:54:43.105700 < "QUIT" 20:54:43.105752 > "221 bye bye baby[CR][LF]" 20:54:43.106114 MAIN sockfilt said DISC 20:54:43.106146 ====> Client disconnected 20:54:43.106203 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:43.277886 ====> Client connect 20:54:43.279175 Received DATA (on stdin) 20:54:43.279195 > 160 bytes data, server => client 20:54:43.279206 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:43.279216 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:43.279225 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:43.279329 < 16 bytes data, client => server 20:54:43.279343 'USER anonymous\r\n' 20:54:43.279530 Received DATA (on stdin) 20:54:43.279542 > 33 bytes data, server => client 20:54:43.279552 '331 We are happy you popped in!\r\n' 20:54:43.279598 < 22 bytes data, client => server 20:54:43.279609 'PASS ftp@example.com\r\n' 20:54:43.279766 Received DATA (on stdin) 20:54:43.279787 > 30 bytes data, server => client 20:54:43.279798 '230 Welcome you silly person\r\n' 20:54:43.279866 < 5 bytes data, client => server 20:54:43.279877 'PWD\r\n' 20:54:43.280108 Received DATA (on stdin) 20:54:43.280123 > 30 bytes data, server => client 20:54:43.280133 '257 "/" is current directory\r\n' 20:54:43.280260 < 6 bytes data, client => server 20:54:43.280283 'EPSV\r\n' 20:54:43.282173 Received DATA (on stdin) 20:54:43.282193 > 38 bytes data, server => client 20:54:43.282205 '229 Entering Passive Mode (|||38793|)\n' 20:54:43.282360 < 8 bytes data, client => server 20:54:43.282371 'TYPE I\r\n' 20:54:43.282497 Received DATA (on stdin) 20:54:43.282510 > 33 bytes data, server => client 20:54:43.282521 '200 I modify TYPE as you wanted\r\n' 20:54:43.282572 < 21 bytes data, client => server 20:54:43.282584 'SIZE verifiedserver\r\n' 20:54:43.282681 Received DATA (on stdin) 20:54:43.282693 > 8 bytes data, server => client 20:54:43.282703 '213 18\r\n' 20:54:43.282744 < 21 bytes data, client => server 20:54:43.282755 'RETR verifiedserver\r\n' 20:54:43.282933 Received DATA (on stdin) 20:54:43.282946 > 29 bytes data, server => client 20:54:43.282957 '150 Binary junk (18 bytes).\r\n' 20:54:43.283310 Received DATA (on stdin) 20:54:43.283322 > 28 bytes data, server => client 20:54:43.283332 '226 File transfer complete\r\n' 20:54:43.327064 < 6 bytes data, client => server 20:54:43.327087 'QUIT\r\n' 20:54:43.327268 Received DATA (on stdin) 20:54:43.327280 > 18 bytes data, server => client 20:54:43.327291 '221 bye bye baby\r\n' 20:54:43.327578 ====> Client disconnect 20:54:43.327715 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:43.281862 Running IPv4 version 20:54:43.281920 Listening on port 38793 20:54:43.281956 Wrote pid 131357 to log/9/server/ftp_sockdata.pid 20:54:43.281975 Received PING (on stdin) 20:54:43.282065 Received PORT (on stdin) 20:54:43.282335 ====> Client connect 20:54:43.282861 Received DATA (on stdin) 20:54:43.282893 > 18 bytes data, server => client 20:54:43.282905 'WE ROOLZ: 110717\r\n' 20:54:43.282953 Received DISC (on stdin) 20:54:43.282967 ====> Client forcibly disconnected 20:54:43.283043 Received QUIT (on stdin) 20:54:43.283058 quits 20:54:43.283114 ============> 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 verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for 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/21/valgrind484 ../src/curl -q --output log/21/curl484.out --include --trace-ascii log/21/trace484 --trace-config all --trace-time http://example.com/484 --etag-compare log/21/etag484 --etag-save log/21/etag484 --url http://example.net/fooo > log/21/stdout484 2> log/21/stderr484 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 === End of file test476.txt === Start of file valgrind476 ==131728== ==131728== Process terminating with default action of signal 4 (SIGILL) ==131728== Illegal opcode at address 0x4003082 ==131728== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131728== by 0x4003082: main (tool_main.c:243) === End of file valgrind476 CMD (33792): ../libtool --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/valgrind485 ../src/curl -q --output log/8/curl485.out --include --trace-ascii log/8/trace485 --trace-config all --trace-time http://example.com/485 http://example.net/fooo --etag-save log/8/etag485 > log/8/stdout485 2> log/8/stderr485 * starts no server test 0484...[Use --etag-compare and -save with more than one 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/21/valgrind484 ../src/curl -q --output log/21/curl484.out --include --trace-ascii log/21/trace484 --trace-config all --trace-time http://example.com/484 --etag-compare log/21/etag484 --etag-save log/21/etag484 --url http://example.net/fooo > log/21/stdout484 2> log/21/stderr484 484: stderr FAILED: --- log/21/check-expected 2025-06-04 20:54:43.819698273 +0000 +++ log/21/check-generated 2025-06-04 20:54:43.819698273 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --url: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/21/ dir after test 484 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --url: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind484 ../src/curl -q --output log/21/curl484.out --include --trace-ascii log/21/trace484 --trace-config all --trace-time http://example.com/484 --etag-compare log/21/etag484 --etag-save log/21/etag484 --url http://example.net/fooo > log/21/stdout484 2> log/21/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==131863== ==131863== Process terminating with default action of signal 4 (SIGILL) ==131863== Illegal opcode at address 0x4003082 ==131863== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131863== by 0x4003082: main (tool_main.c:243) === End of file valgrind484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind487 ../src/curl -q --output log/23/curl487.out --include --trace-ascii log/23/trace487 --trace-config all --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:38539/{{what:64dec}}/487" -g > log/23/stdout487 2> log/23/stderr487 CMD (33792): ../libtool --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/valgrind486 ../src/curl -q --output log/1/curl486.out --include --trace-ascii log/1/trace486 --trace-config all --trace-time --netrc --netrc-file log/1/netrc486 -L -x http://127.0.0.1:42503/ http://a.com/ > log/1/stdout486 2> log/1/stderr486 CMD (33792): ../libtool --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/valgrind488 ../src/curl -q --output log/5/curl488.out --include --trace-ascii log/5/trace488 --trace-config all --trace-time --output-dir log/5 --url @- log/5/stdout488 2> log/5/stderr488 * starts no server test 0485...[Use --etag-compare and -save with more than one URL, URLs specified 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/8/valgrind485 ../src/curl -q --output log/8/curl485.out --include --trace-ascii log/8/trace485 --trace-config all --trace-time http://example.com/485 http://example.net/fooo --etag-save log/8/etag485 > log/8/stdout485 2> log/8/stderr485 485: stderr FAILED: --- log/8/check-expected 2025-06-04 20:54:43.846364941 +0000 +++ log/8/check-generated 2025-06-04 20:54:43.843031606 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --etag-save: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/8/ dir after test 485 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --etag-save: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind485 ../src/curl -q --output log/8/curl485.out --include --trace-ascii log/8/trace485 --trace-config all --trace-time http://example.com/485 http://example.net/fooo --etag-save log/8/etag485 > log/8/stdout485 2> log/8/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==131896== ==131896== Process terminating with default action of signal 4 (SIGILL) ==131896== Illegal opcode at address 0x4003082 ==131896== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131896== by 0x4003082: main (tool_main.c:243) === End of file valgrind485 test 0487...[Variable using 64dec with bad 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/23/valgrind487 ../src/curl -q --output log/23/curl487.out --include --trace-ascii log/23/trace487 --trace-config all --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:38539/{{what:64dec}}/487" -g > log/23/stdout487 2> log/23/stderr487 487: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind487 ../src/curl -q --output log/23/curl487.out --include --trace-ascii log/23/trace487 --trace-config all --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:38539/{{what:64dec}}/487" -g > log/23/stdout487 2> log/23/stderr487 === End of file commands.log === Start of file http_server.log 20:54:43.519303 ====> Client connect 20:54:43.519331 accept_connection 3 returned 4 20:54:43.519363 accept_connection 3 returned 0 20:54:43.519376 Read 93 bytes 20:54:43.519388 Process 93 bytes request 20:54:43.519398 Got request: GET /verifiedserver HTTP/1.1 20:54:43.519407 Are-we-friendly question received 20:54:43.519430 Wrote request (93 bytes) input to log/23/server.input 20:54:43.519446 Identifying ourselves as friends 20:54:43.519494 Response sent (57 bytes) and written to log/23/server.response 20:54:43.519503 special request received, no persistency 20:54:43.519511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === End of file http_verify.out === Start of file server.cmd Testnum 487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind487 ==131988== ==131988== Process terminating with default action of signal 4 (SIGILL) ==131988== Illegal opcode at address 0x4003082 ==131988== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131988== by 0x4003082: main (tool_main.c:243) === End of file valgrind487 test 0486...[.netrc with redirect and "default" with no password or 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/1/valgrind486 ../src/curl -q --output log/1/curl486.out --include --trace-ascii log/1/trace486 --trace-config all --trace-time --netrc --netrc-file log/1/netrc486 -L -x http://127.0.0.1:42503/ http://a.com/ > log/1/stdout486 2> log/1/stderr486 486: 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 486 === Start of file commands.log ../libtool --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/valgrind486 ../src/curl -q --output log/1/curl486.out --include --trace-ascii log/1/trace486 --trace-config all --trace-time --netrc --netrc-file log/1/netrc486 -L -x http://127.0.0.1:42503/ http://a.com/ > log/1/stdout486 2> log/1/stderr486 === End of file commands.log === Start of file http_server.log 20:54:43.517465 ====> Client connect 20:54:43.517494 accept_connection 3 returned 4 20:54:43.517511 accept_connection 3 returned 0 20:54:43.517524 Read 93 bytes 20:54:43.517533 Process 93 bytes request 20:54:43.517546 Got request: GET /verifiedserver HTTP/1.1 20:54:43.517556 Are-we-friendly question received 20:54:43.517576 Wrote request (93 bytes) input to log/1/server.input 20:54:43.517591 Identifying ourselves as friends 20:54:43.517640 Response sent (57 bytes) and written to log/1/server.response 20:54:43.517649 special request received, no persistency 20:54:43.517658 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === End of file http_verify.out === Start of file netrc486 machine a.com login alice password alicespassword default === End of file netrc486 === Start of file server.cmd Testnum 486 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104816 === End of file server.response === Start of file valgrind486 ==131992== ==131992== Process terminating with default action of signal 4 (SIGILL) ==131992== Illegal opcode at address 0x4003082 ==131992== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==131992== by 0x4003082: main (tool_main.c:243) === End of file valgrind486 test 0488...[Download two URLs provided 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/5/valgrind488 ../src/curl -q --output log/5/curl488.out --include --trace-ascii log/5/trace488 --trace-config all --trace-time --output-dir log/5 --url @- CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind489 ../src/curl -q --output log/20/curl489.out --include --trace-ascii log/20/trace489 --trace-config all --trace-time --output-dir log/20 --url @log/20/urls > log/20/stdout489 2> log/20/stderr489 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind490 ../src/curl -q --output log/22/curl490.out --include --trace-ascii log/22/trace490 --trace-config all --trace-time http://127.0.0.1:44239/490 -T '{log/22/in490,log/22/in490}' > log/22/stdout490 2> log/22/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/11/valgrind491 ../src/curl -q --output log/11/curl491.out --include --trace-ascii log/11/trace491 --trace-config all --trace-time http://127.0.0.1:44265/491 -T '{log/11/in491,log/11/bad491}' > log/11/stdout491 2> log/11/stderr491 log/5/stdout488 2> log/5/stderr488 488: 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 488 === Start of file commands.log ../libtool --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/valgrind488 ../src/curl -q --output log/5/curl488.out --include --trace-ascii log/5/trace488 --trace-config all --trace-time --output-dir log/5 --url @- log/5/stdout488 2> log/5/stderr488 === End of file commands.log === Start of file http_server.log 20:54:43.527876 ====> Client connect 20:54:43.527912 accept_connection 3 returned 4 20:54:43.527930 accept_connection 3 returned 0 20:54:43.527945 Read 93 bytes 20:54:43.527955 Process 93 bytes request 20:54:43.527967 Got request: GET /verifiedserver HTTP/1.1 20:54:43.527977 Are-we-friendly question received 20:54:43.528033 Wrote request (93 bytes) input to log/5/server.input 20:54:43.528054 Identifying ourselves as friends 20:54:43.528139 Response sent (57 bytes) and written to log/5/server.response 20:54:43.528151 special request received, no persistency 20:54:43.528161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === End of file http_verify.out === Start of file server.cmd Testnum 488 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 107202 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:33725/a http://127.0.0.1:33725/b === End of file stdin-for-488 === Start of file valgrind488 ==132034== ==132034== Process terminating with default action of signal 4 (SIGILL) ==132034== Illegal opcode at address 0x4003082 ==132034== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132034== by 0x4003082: main (tool_main.c:243) === End of file valgrind488 test 0489...[Download two URLs provided in 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/20/valgrind489 ../src/curl -q --output log/20/curl489.out --include --trace-ascii log/20/trace489 --trace-config all --trace-time --output-dir log/20 --url @log/20/urls > log/20/stdout489 2> log/20/stderr489 489: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 489 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind489 ../src/curl -q --output log/20/curl489.out --include --trace-ascii log/20/trace489 --trace-config all --trace-time --output-dir log/20 --url @log/20/urls > log/20/stdout489 2> log/20/stderr489 === End of file commands.log === Start of file http_server.log 20:54:43.551322 ====> Client connect 20:54:43.551348 accept_connection 3 returned 4 20:54:43.551362 accept_connection 3 returned 0 20:54:43.551373 Read 93 bytes 20:54:43.551382 Process 93 bytes request 20:54:43.551397 Got request: GET /verifiedserver HTTP/1.1 20:54:43.551407 Are-we-friendly question received 20:54:43.551428 Wrote request (93 bytes) input to log/20/server.input 20:54:43.551448 Identifying ourselves as friends 20:54:43.551496 Response sent (57 bytes) and written to log/20/server.response 20:54:43.551506 special request received, no persistency 20:54:43.551514 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === End of file http_verify.out === Start of file server.cmd Testnum 489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104795 === End of file server.response === Start of file urls http://127.0.0.1:41293/a http://127.0.0.1:41293/b === End of file urls === Start of file valgrind489 ==132130== ==132130== Process terminating with default action of signal 4 (SIGILL) ==132130== Illegal opcode at address 0x4003082 ==132130== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132130== by 0x4003082: main (tool_main.c:243) === End of file valgrind489 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/22/valgrind490 ../src/curl -q --output log/22/curl490.out --include --trace-ascii log/22/trace490 --trace-config all --trace-time http://127.0.0.1:44239/490 -T '{log/22/in490,log/22/in490}' > log/22/stdout490 2> log/22/stderr490 490: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 490 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind490 ../src/curl -q --output log/22/curl490.out --include --trace-ascii log/22/trace490 --trace-config all --trace-time http://127.0.0.1:44239/490 -T '{log/22/in490,log/22/in490}' > log/22/stdout490 2> log/22/stderr490 === End of file commands.log === Start of file http_server.log 20:54:43.625151 ====> Client connect 20:54:43.625193 accept_connection 3 returned 4 20:54:43.625212 accept_connection 3 returned 0 20:54:43.625226 Read 93 bytes 20:54:43.625237 Process 93 bytes request 20:54:43.625252 Got request: GET /verifiedserver HTTP/1.1 20:54:43.625262 Are-we-friendly question received 20:54:43.625289 Wrote request (93 bytes) input to log/22/server.input 20:54:43.625306 Identifying ourselves as friends 20:54:43.625364 Response sent (57 bytes) and written to log/22/server.response 20:54:43.625374 special request received, no persistency 20:54:43.625383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind490 ==132255== ==132255== Process terminating with default action of signal 4 (SIGILL) ==132255== Illegal opcode at address 0x4003082 ==132255== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132255== by 0x4003082: main (tool_main.c:243) === End of file valgrind490 test 0491...[Two globbed HTTP PUTs, the second uploadCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind492 ../src/curl -q --output log/13/curl492.out --include --trace-ascii log/13/trace492 --trace-config all --trace-time 'http://127.0.0.1:44987/{one,two}/' -T '{log/13/first492,log/13/second492}' -H "Testno: 492" > log/13/stdout492 2> log/13/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/7/valgrind493 ../src/curl -q --include --trace-ascii log/7/trace493 --trace-config all --trace-time -x http://127.0.0.1:39141 http://this.hsts.example/493 --hsts log/7/input493 -w '%{url_effective}\n' > log/7/stdout493 2> log/7/stderr493 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/11/valgrind491 ../src/curl -q --output log/11/curl491.out --include --trace-ascii log/11/trace491 --trace-config all --trace-time http://127.0.0.1:44265/491 -T '{log/11/in491,log/11/bad491}' > log/11/stdout491 2> log/11/stderr491 491: 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 491 === Start of file commands.log ../libtool --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/valgrind491 ../src/curl -q --output log/11/curl491.out --include --trace-ascii log/11/trace491 --trace-config all --trace-time http://127.0.0.1:44265/491 -T '{log/11/in491,log/11/bad491}' > log/11/stdout491 2> log/11/stderr491 === End of file commands.log === Start of file http_server.log 20:54:43.648885 ====> Client connect 20:54:43.648916 accept_connection 3 returned 4 20:54:43.648933 accept_connection 3 returned 0 20:54:43.648947 Read 93 bytes 20:54:43.648957 Process 93 bytes request 20:54:43.648970 Got request: GET /verifiedserver HTTP/1.1 20:54:43.648979 Are-we-friendly question received 20:54:43.649003 Wrote request (93 bytes) input to log/11/server.input 20:54:43.649018 Identifying ourselves as friends 20:54:43.649070 Response sent (57 bytes) and written to log/11/server.response 20:54:43.649079 special request received, no persistency 20:54:43.649088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind491 ==132298== ==132298== Process terminating with default action of signal 4 (SIGILL) ==132298== Illegal opcode at address 0x4003082 ==132298== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132298== by 0x4003082: main (tool_main.c:243) === End of file valgrind491 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/13/valgrind492 ../src/curl -q --output log/13/curl492.out --include --trace-ascii log/13/trace492 --trace-config all --trace-time 'http://127.0.0.1:44987/{one,two}/' -T '{log/13/first492,log/13/second492}' -H "Testno: 492" > log/13/stdout492 2> log/13/stderr492 492: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind492 ../src/curl -q --output log/13/curl492.out --include --trace-ascii log/13/trace492 --trace-config all --trace-time 'http://127.0.0.1:44987/{one,two}/' -T '{log/13/first492,log/13/second492}' -H "Testno: 492" > log/13/stdout492 2> log/13/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 20:54:43.695432 ====> Client connect 20:54:43.695463 accept_connection 3 returned 4 20:54:43.695480 accept_connection 3 returned 0 20:54:43.695494 Read 93 bytes 20:54:43.695503 Process 93 bytes request 20:54:43.695516 Got request: GET /verifiedserver HTTP/1.1 20:54:43.695526 Are-we-friendly question received 20:54:43.695548 Wrote request (93 bytes) input to log/13/server.input 20:54:43.695563 Identifying ourselves as friends 20:54:43.695616 Response sent (57 bytes) and written to log/13/server.response 20:54:43.695625 special request received, no persistency 20:54:43.695634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file valgrind492 ==132376== ==132376== Process terminating with default action of signal 4 (SIGILL) ==132376== Illegal opcode at address 0x4003082 ==132376== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132376== by 0x4003082: main (tool_main.c:243) === End of file valgrind492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind496 ../src/curl -q --output log/19/curl496.out --include --trace-ascii log/19/trace496 --trace-config all --trace-time 0 -Z -Tz > log/19/stdout496 2> log/19/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/2/valgrind497 ../src/curl -q --output log/2/curl497.out --include --trace-ascii log/2/trace497 --trace-config all --trace-time http://127.0.0.1:43815/497 > log/2/stdout497 2> log/2/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/valgrind499 ../src/curl -q --output log/10/curl499.out --include --trace-ascii log/10/trace499 --trace-config all --trace-time http://127.0.0.1:43831/499 -I > log/10/stdout499 2> log/10/stderr499 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind495 ../src/curl -q --output log/18/curl495.out --include --trace-ascii log/18/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:34637/495 --netrc-optional > log/18/stdout495 2> log/18/stderr495 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/7/valgrind493 ../src/curl -q --include --trace-ascii log/7/trace493 --trace-config all --trace-time -x http://127.0.0.1:39141 http://this.hsts.example/493 --hsts log/7/input493 -w '%{url_effective}\n' > log/7/stdout493 2> log/7/stderr493 493: stdout FAILED: --- log/7/check-expected 2025-06-04 20:54:44.203031615 +0000 +++ log/7/check-generated 2025-06-04 20:54:44.203031615 +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/7/ 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 commands.log ../libtool --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/valgrind493 ../src/curl -q --include --trace-ascii log/7/trace493 --trace-config all --trace-time -x http://127.0.0.1:39141 http://this.hsts.example/493 --hsts log/7/input493 -w '%{url_effective}\n' > log/7/stdout493 2> log/7/stderr493 === End of file commands.log === Start of file http_server.log 20:54:43.814488 ====> Client connect 20:54:43.814524 accept_connection 3 returned 4 20:54:43.814543 accept_connection 3 returned 0 20:54:43.814558 Read 93 bytes 20:54:43.814568 Process 93 bytes request 20:54:43.814580 Got request: GET /verifiedserver HTTP/1.1 20:54:43.814589 Are-we-friendly question received 20:54:43.814615 Wrote request (93 bytes) input to log/7/server.input 20:54:43.814632 Identifying ourselves as friends 20:54:43.814693 Response sent (57 bytes) and written to log/7/server.response 20:54:43.814705 special request received, no persistency 20:54:43.814714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind493 ==132502== ==132502== Process terminating with default action of signal 4 (SIGILL) ==132502== Illegal opcode at address 0x4003082 ==132502== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132502== by 0x4003082: main (tool_main.c:243) === End of file valgrind493 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/2/valgrind497 ../src/curl -q --output log/2/curl497.out --include --trace-ascii log/2/trace497 --trace-config all --trace-time http://127.0.0.1:43815/497 > log/2/stdout497 2> log/2/stderr497 497: 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 497 === Start of file commands.log ../libtool --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/valgrind497 ../src/curl -q --output log/2/curl497.out --include --trace-ascii log/2/trace497 --trace-config all --trace-time http://127.0.0.1:43815/497 > log/2/stdout497 2> log/2/stderr497 === End of file commands.log === Start of file http_server.log 20:54:43.836532 ====> Client connect 20:54:43.836556 accept_connection 3 returned 4 20:54:43.836568 accept_connection 3 returned 0 20:54:43.836578 Read 93 bytes 20:54:43.836586 Process 93 bytes request 20:54:43.836595 Got request: GET /verifiedserver HTTP/1.1 20:54:43.836602 Are-we-friendly question received 20:54:43.836624 Wrote request (93 bytes) input to log/2/server.input 20:54:43.836635 Identifying ourselves as friends 20:54:43.836674 Response sent (57 bytes) and written to log/2/server.response 20:54:43.836681 special request received, no persistency 20:54:43.836687 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind497 ==132641== ==132641== Process terminating with default action of signal 4 (SIGILL) ==132641== Illegal opcode at address 0x4003082 ==132641== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132641== by 0x4003082: main (tool_main.c:243) === End of file valgrind497 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/10/valgrind499 ../src/curl -q --output log/10/curl499.out --include --trace-ascii log/10/trace499 --trace-config all --trace-time http://127.0.0.1:43831/499 -I > log/10/stdout499 2> log/10/stderr499 499: 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 499 === Start of file commands.log ../libtool --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/valgrind499 ../src/curl -q --output log/10/curl499.out --include --trace-ascii log/10/trace499 --trace-config all --trace-time http://127.0.0.1:43831/499 -I > log/10/stdout499 2> log/10/stderr499 === End of file commands.log === Start of file http_server.log 20:54:43.862038 ====> Client connect 20:54:43.862071 accept_connection 3 returned 4 20:54:43.862089 accept_connection 3 returned 0 20:54:43.862103 Read 93 bytes 20:54:43.862113 Process 93 bytes request 20:54:43.862126 Got request: GET /verifiedserver HTTP/1.1 20:54:43.862136 Are-we-friendly question received 20:54:43.862160 Wrote request (93 bytes) input to log/10/server.input 20:54:43.862176 Identifying ourselves as friends 20:54:43.862236 Response sent (57 bytes) and written to log/10/server.response 20:54:43.862247 special request received, no persistency 20:54:43.862256 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.1 > Accept: */* > * Request completely sent off < 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/14/valgrind498 ../src/curl -q --output log/14/curl498.out --include --trace-ascii log/14/trace498 --trace-config all --trace-time http://127.0.0.1:35661/498 --max-redirs 400 --location > log/14/stdout498 2> log/14/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/17/valgrind494 ../src/curl -q --output log/17/curl494.out --include --trace-ascii log/17/trace494 --trace-config all --trace-time --netrc --netrc-file log/17/netrc494 ftp://127.0.0.1:42765/494 > log/17/stdout494 2> log/17/stderr494 TTP/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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind499 ==132690== ==132690== Process terminating with default action of signal 4 (SIGILL) ==132690== Illegal opcode at address 0x4003082 ==132690== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132690== by 0x4003082: main (tool_main.c:243) === End of file valgrind499 * 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/19/valgrind496 ../src/curl -q --output log/19/curl496.out --include --trace-ascii log/19/trace496 --trace-config all --trace-time 0 -Z -Tz > log/19/stdout496 2> log/19/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/19/ dir after test 496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind496 ../src/curl -q --output log/19/curl496.out --include --trace-ascii log/19/trace496 --trace-config all --trace-time 0 -Z -Tz > log/19/stdout496 2> log/19/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==132479== ==132479== Process terminating with default action of signal 4 (SIGILL) ==132479== Illegal opcode at address 0x4003082 ==132479== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132479== by 0x4003082: main (tool_main.c:243) === 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/18/valgrind495 ../src/curl -q --output log/18/curl495.out --include --trace-ascii log/18/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:34637/495 --netrc-optional > log/18/stdout495 2> log/18/stderr495 495: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind495 ../src/curl -q --output log/18/curl495.out --include --trace-ascii log/18/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:34637/495 --netrc-optional > log/18/stdout495 2> log/18/stderr495 === End of file commands.log === Start of file http_server.log 20:54:43.826697 ====> Client connect 20:54:43.826734 accept_connection 3 returned 4 20:54:43.826753 accept_connection 3 returned 0 20:54:43.826767 Read 93 bytes 20:54:43.826776 Process 93 bytes request 20:54:43.826789 Got request: GET /verifiedserver HTTP/1.1 20:54:43.826798 Are-we-friendly question received 20:54:43.826821 Wrote request (93 bytes) input to log/18/server.input 20:54:43.826837 Identifying ourselves as friends 20:54:43.826903 Response sent (57 bytes) and written to log/18/server.response 20:54:43.826915 special request received, no persistency 20:54:43.826923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind495 ==132555== ==132555== Process terminating with default action of signal 4 (SIGILL) ==132555== Illegal opcode at address 0x4003082 ==132555== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132555== by 0x4003082: main (tool_main.c:243) === End of file valgrind495 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/14/valgrind498 ../src/curl -q --output log/14/curl498.out --include --trace-ascii log/14/trace498 --trace-config all --trace-time http://127.0.0.1:35661/498 --max-redirs 400 --location > log/14/stdout498 2> log/14/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/14/ dir after test 498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind498 ../src/curl -q --output log/14/curl498.out --include --trace-ascii log/14/trace498 --trace-config all --trace-time http://127.0.0.1:35661/498 --max-redirs 400 --location > log/14/stdout498 2> log/14/stderr498 === End of file commands.log === Start of file http_server.log 20:54:43.847732 ====> Client connect 20:54:43.847763 accept_connection 3 returned 4 20:54:43.847780 accept_connection 3 returned 0 20:54:43.847794 Read 93 bytes 20:54:43.847803 Process 93 bytes request 20:54:43.847817 Got request: GET /verifiedserver HTTP/1.1 20:54:43.847826 Are-we-friendly question received 20:54:43.847847 Wrote request (93 bytes) input to log/14/server.input 20:54:43.847862 Identifying ourselves as friends 20:54:43.847912 Response sent (57 bytes) and written to log/14/server.response 20:54:43.847922 special request received, no persistency 20:54:43.847930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind498 ==132740== ==132740== Process terminating with default action of signal 4 (SIGILL) ==132740== Illegal opcode at address 0x4003082 ==132740== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132740== by 0x4003082: main (tool_main.c:243) === End of file valgrind498 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/17/valgrind494 ../src/curl -q --output log/17/curl494.out --include --trace-ascii log/17/trace494 --trace-config all --trace-time --netrc --netrc-file log/17/netrc494 ftp://127.0.0.1:42765/494 > log/17/stdout494 2> log/17/stderr494 494: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir CMD (0): ./libtest/lib518 http://127.0.0.1:46549/518 > log/19/stdout518 2> log/19/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/16/valgrind480 ../src/curl -q --output log/16/curl480.out --include --trace-ascii log/16/trace480 --trace-config all --trace-time --netrc --netrc-file log/16/netrc480 pop3://127.0.0.1:39545/480 > log/16/stdout480 2> log/16/stderr480 after test 494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind494 ../src/curl -q --output log/17/curl494.out --include --trace-ascii log/17/trace494 --trace-config all --trace-time --netrc --netrc-file log/17/netrc494 ftp://127.0.0.1:42765/494 > log/17/stdout494 2> log/17/stderr494 === End of file commands.log === Start of file ftp_server.log 20:54:43.605009 ====> Client connect 20:54:43.605278 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:43.605629 < "USER anonymous" 20:54:43.605661 > "331 We are happy you popped in![CR][LF]" 20:54:43.605787 < "PASS ftp@example.com" 20:54:43.605812 > "230 Welcome you silly person[CR][LF]" 20:54:43.606026 < "PWD" 20:54:43.606073 > "257 "/" is current directory[CR][LF]" 20:54:43.606225 < "EPSV" 20:54:43.606251 ====> Passive DATA channel requested by client 20:54:43.606264 DATA sockfilt for passive data channel starting... 20:54:43.607886 DATA sockfilt for passive data channel started (pid 132503) 20:54:43.608000 DATA sockfilt for passive data channel listens on port 42711 20:54:43.608040 > "229 Entering Passive Mode (|||42711|)[LF]" 20:54:43.608056 Client has been notified that DATA conn will be accepted on port 42711 20:54:43.608398 Client connects to port 42711 20:54:43.608423 ====> Client established passive DATA connection on port 42711 20:54:43.608484 < "TYPE I" 20:54:43.608510 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:43.608658 < "SIZE verifiedserver" 20:54:43.608690 > "213 18[CR][LF]" 20:54:43.608839 < "RETR verifiedserver" 20:54:43.608876 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:43.608951 =====> Closing passive DATA connection... 20:54:43.608965 Server disconnects passive DATA connection 20:54:43.609270 Server disconnected passive DATA connection 20:54:43.609297 DATA sockfilt for passive data channel quits (pid 132503) 20:54:43.609558 DATA sockfilt for passive data channel quit (pid 132503) 20:54:43.609594 =====> Closed passive DATA connection 20:54:43.609628 > "226 File transfer complete[CR][LF]" 20:54:43.656052 < "QUIT" 20:54:43.656106 > "221 bye bye baby[CR][LF]" 20:54:43.657365 MAIN sockfilt said DISC 20:54:43.657400 ====> Client disconnected 20:54:43.657472 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:43.826364 ====> Client connect 20:54:43.826801 Received DATA (on stdin) 20:54:43.826826 > 160 bytes data, server => client 20:54:43.826838 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:43.826849 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:43.826868 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:43.826981 < 16 bytes data, client => server 20:54:43.827001 'USER anonymous\r\n' 20:54:43.827158 Received DATA (on stdin) 20:54:43.827172 > 33 bytes data, server => client 20:54:43.827183 '331 We are happy you popped in!\r\n' 20:54:43.827240 < 22 bytes data, client => server 20:54:43.827251 'PASS ftp@example.com\r\n' 20:54:43.827327 Received DATA (on stdin) 20:54:43.827343 > 30 bytes data, server => client 20:54:43.827354 '230 Welcome you silly person\r\n' 20:54:43.827411 < 5 bytes data, client => server 20:54:43.827427 'PWD\r\n' 20:54:43.827593 Received DATA (on stdin) 20:54:43.827604 > 30 bytes data, server => client 20:54:43.827614 '257 "/" is current directory\r\n' 20:54:43.827668 < 6 bytes data, client => server 20:54:43.827679 'EPSV\r\n' 20:54:43.829618 Received DATA (on stdin) 20:54:43.829638 > 38 bytes data, server => client 20:54:43.829651 '229 Entering Passive Mode (|||42711|)\n' 20:54:43.829871 < 8 bytes data, client => server 20:54:43.829889 'TYPE I\r\n' 20:54:43.830022 Received DATA (on stdin) 20:54:43.830034 > 33 bytes data, server => client 20:54:43.830045 '200 I modify TYPE as you wanted\r\n' 20:54:43.830096 < 21 bytes data, client => server 20:54:43.830107 'SIZE verifiedserver\r\n' 20:54:43.830211 Received DATA (on stdin) 20:54:43.830222 > 8 bytes data, server => client 20:54:43.830231 '213 18\r\n' 20:54:43.830275 < 21 bytes data, client => server 20:54:43.830286 'RETR verifiedserver\r\n' 20:54:43.830500 Received DATA (on stdin) 20:54:43.830513 > 29 bytes data, server => client 20:54:43.830523 '150 Binary junk (18 bytes).\r\n' 20:54:43.831122 Received DATA (on stdin) 20:54:43.831139 > 28 bytes data, server => client 20:54:43.831150 '226 File transfer complete\r\n' 20:54:43.877171 < 6 bytes data, client => server 20:54:43.877196 'QUIT\r\n' 20:54:43.877629 Received DATA (on stdin) 20:54:43.877648 > 18 bytes data, server => client 20:54:43.877659 '221 bye bye baby\r\n' 20:54:43.878822 ====> Client disconnect 20:54:43.878989 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:43.829155 Running IPv4 version 20:54:43.829208 Listening on port 42711 20:54:43.829317 Wrote pid 132503 to log/17/server/ftp_sockdata.pid 20:54:43.829344 Received PING (on stdin) 20:54:43.829427 Received PORT (on stdin) 20:54:43.829864 ====> Client connect 20:54:43.830563 Received DATA (on stdin) 20:54:43.830580 > 18 bytes data, server => client 20:54:43.830590 'WE ROOLZ: 110706\r\n' 20:54:43.830621 Received DISC (on stdin) 20:54:43.830633 ====> Client forcibly disconnected 20:54:43.830816 Received QUIT (on stdin) 20:54:43.830828 quits 20:54:43.830881 ============> 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 ==132892== ==132892== Process terminating with default action of signal 4 (SIGILL) ==132892== Illegal opcode at address 0x4003082 ==132892== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==132892== by 0x4003082: main (tool_main.c:243) === End of file valgrind494 prechecked ./libtest/lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/lib518 http://127.0.0.1:46549/518 > log/19/stdout518 2> log/19/stderr518 valgrind SKIPPED --pd---e--- OK (494 out of 1701, remaining: 00:55, took 0.077s, duration: 00:22) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/pop3_server.pid" --logfile "log/16/pop3_server.log" --logdir "log/16" --portfile "log/16/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39545 (log/16/server/pop3_server.port) RUN: POP3 server is PID 131363 port 39545 * pid pop3 => 131363 131363 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/16/valgrind480 ../src/curl -q --output log/16/curl480.out --include --trace-ascii log/16/trace480 --trace-config all --trace-time --netrc --netrc-file log/16/netrc480 pop3://127.0.0.1:39545/480 > log/16/stdout480 2> log/16/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/16/ dir after test 480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind480 ../src/curl -q --output log/16/curl480.out --include --trace-ascii log/16/trace480 --trace-config all --trace-time --netrc --netrc-file log/16/netrc480 pop3://127.0.0.1:39545/480 > log/16/stdout480 2> log/16/stderr480 === End of file commands.log === Start of file netrc480 machine 127.0.0.1 login alice password "password\r\ncommand" === End of filCMD (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/valgrind517 ./libtest/lib517 nothing > log/7/stdout517 2> log/7/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/16/valgrind525 ./libtest/lib525 ftp://127.0.0.1:35865/path/525 log/16/upload525 > log/16/stdout525 2> log/16/stderr525 e netrc480 === Start of file pop3_server.log 20:54:43.105505 POP3 server listens on port IPv4/39545 20:54:43.105585 logged pid 131363 in log/16/server/pop3_server.pid 20:54:43.105608 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:54:43.326677 Running IPv4 version 20:54:43.326737 Listening on port 39545 20:54:43.326776 Wrote pid 131472 to log/16/server/pop3_sockfilt.pid 20:54:43.326806 Wrote port 39545 to log/16/server/pop3_server.port 20:54:43.326936 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 480 === End of file server.cmd === Start of file valgrind480 ==133824== ==133824== Process terminating with default action of signal 4 (SIGILL) ==133824== Illegal opcode at address 0x4003082 ==133824== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==133824== by 0x4003082: main (tool_main.c:243) === End of file valgrind480 * 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/7/valgrind517 ./libtest/lib517 nothing > log/7/stdout517 2> log/7/stderr517 -------e-v- OK (493 out of 1701, remaining: 00:57, took 0.705s, duration: 00:23) 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/16/valgrind525 ./libtest/lib525 ftp://127.0.0.1:35865/path/525 log/16/upload525 > log/16/stdout525 2> log/16/stderr525 525: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind525 ./libtest/lib525 ftp://127.0.0.1:35865/path/525 log/16/upload525 > log/16/stdout525 2> log/16/stderr525 === End of file commands.log === Start of file ftp_server.log 20:54:44.557018 ====> Client connect 20:54:44.557137 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:44.557415 < "USER anonymous" 20:54:44.557459 > "331 We are happy you popped in![CR][LF]" 20:54:44.557609 < "PASS ftp@example.com" 20:54:44.557627 > "230 Welcome you silly person[CR][LF]" 20:54:44.557721 < "PWD" 20:54:44.557740 > "257 "/" is current directory[CR][LF]" 20:54:44.557837 < "EPSV" 20:54:44.557852 ====> Passive DATA channel requested by client 20:54:44.557861 DATA sockfilt for passive data channel starting... 20:54:44.559162 DATA sockfilt for passive data channel started (pid 134415) 20:54:44.559295 DATA sockfilt for passive data channel listens on port 33995 20:54:44.559332 > "229 Entering Passive Mode (|||33995|)[LF]" 20:54:44.559345 Client has been notified that DATA conn will be accepted on port 33995 20:54:44.559563 Client connects to port 33995 20:54:44.559585 ====> Client established passive DATA connection on port 33995 20:54:44.559674 < "TYPE I" 20:54:44.559695 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:44.559795 < "SIZE verifiedserver" 20:54:44.559816 > "213 18[CR][LF]" 20:54:44.559908 < "RETR verifiedserver" 20:54:44.559929 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:44.559977 =====> Closing passive DATA connection... 20:54:44.559987 Server disconnects passive DATA connection 20:54:44.560133 Server disconnected passive DATA connection 20:54:44.560151 DATA sockfilt for passive data channel quits (pid 134415) 20:54:44.560283 DATA sockfilt for passive data channel quit (pid 134415) 20:54:44.560298 =====> Closed passive DATA connection 20:54:44.560316 > "226 File transfer complete[CR][LF]" 20:54:44.605676 < "QUIT" 20:54:44.605723 > "221 bye bye baby[CR][LF]" 20:54:44.605840 MAIN sockfilt said DISC 20:54:44.605868 ====> Client disconnected 20:54:44.605942 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:44.778448 ====> Client connect 20:54:44.778658 Received DATA (on stdin) 20:54:44.778671 > 160 bytes data, server => client 20:54:44.778682 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:44.778692 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:44.778701 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:44.778774 < 16 bytes data, client => server 20:54:44.778784 'USER anonymous\r\n' 20:54:44.778977 Received DATA (on stdin) 20:54:44.778990 > 33 bytes data, server => client 20:54:44.778998 '331 We are happy you popped in!\r\n' 20:54:44.779044 < 22 bytes data, client => server 20:54:44.779052 'PASS ftp@example.com\r\n' 20:54:44.779133 Received DATA (on stdin) 20:54:44.779140 > 30 bytes data, server => client 20:54:44.779147 '230 Welcome you silly person\r\n' 20:54:44.779176 < 5 bytes data, client => server 20:54:44.779183 'PWD\r\n' 20:54:44.779245 Received DATA (on stdin) 20:54:44.779252 > 30 bytes data, server => client 20:54:44.779259 '257 "/" is current directory\r\n' 20:54:44.779294 < 6 bytes data, client => server 20:54:44.779301 'EPSV\r\n' 20:54:44.780859 Received DATA (on stdin) 20:54:44.780871 > 38 bytes data, server => client 20:54:44.780879 '229 Entering Passive Mode (|||33995|)\n' 20:54:44.781111 < 8 bytes data, client => server 20:54:44.781120 'TYPE I\r\n' 20:54:44.781201 Received DATA (on stdin) 20:54:44.781209 > 33 bytes data, server => client 20:54:44.781216 '200 I modify TYPE as you wanted\r\n' 20:54:44.781249 < 21 bytes data, client => server 20:54:44.781256 'SIZE verifiedserver\r\n' 20:54:44.781322 Received DATA (on stdin) 20:54:44.781329 > 8 bytes data, server => client 20:54:44.781336 '213 18\r\n' 20:54:44.781365 < 21 bytes data, client => server 20:54:44.781372 'RETR verifiedserver\r\n' 20:54:44.781493 Received DATA (on stdin) 20:54:44.781501 > 29 bytes data, server => client 20:54:44.781508 '150 Binary junk (18 bytes).\r\n' 20:54:44.781823 Received DATA (on stdin) 20:54:44.781832 > 28 bytes data, server => client 20:54:44.781839 '226 File transfer complete\r\n' 20:54:44.827020 < 6 bytes data, client => server 20:54:44.827048 'QUIT\r\n' 20:54:44.827239 Received DATA (on stdin) 20:54:44.827251 > 18 bytes data, server => client 20:54:44.827261 '221 bye bye baby\r\n' 20:54:44.827308 ====> Client disconnect 20:54:44.827457 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:44.780493 Running IPv4 version 20:54:44.780540 Listening on port 33995 20:54:44.780603 Wrote pid 134415 to log/16/server/ftp_sockdata.pid 20:54:44.780619 Received PING (on stdin) 20:54:44.780716 Received PORT (on stdin) 20:54:44.781032 ====> Client connect 20:54:44.781524 Received DATA (on stdin) 20:54:44.781533 > 18 bytes data, server => client 20:54:44.781540 'WE ROOLZ: 110697\r\n' 20:54:44.781555 Received DISC (on stdin) 20:54:44.781563 ====> Client forcibly disconnected 20:54:44.781663 Received QUIT (on stdin) 20:54:44.781671 quits 20:54:44.781704 ============> 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:35865/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==134418== ==134418== Process terminating with default action of signal 4 (SIGILL) ==134418== Illegal opcode at address 0x491A6B3 ==134418== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134418== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134418== by 0x491A6B3: Curl_open (url.c:538) ==134418== by 0x48952AF: curl_easy_init (easy.c:377) ==134418== by 0x40012FB: test (lib525.c:86) ==134418== by 0x400107D: main (first.c:196) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind527 ./libtest/lib527 ftp://127.0.0.1:35865/path/527 > log/16/stdout527 2> log/16/stderr527 134418== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==134418== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134418== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134418== by 0x4A93FA5: tsearch (tsearch.c:290) ==134418== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134418== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134418== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134418== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134418== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134418== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134418== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134418== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134418== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134418== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134418== by 0x49B1142: setlocale (setlocale.c:337) ==134418== by 0x4001041: main (first.c:135) ==134418== ==134418== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==134418== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134418== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134418== by 0x4A93FA5: tsearch (tsearch.c:290) ==134418== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134418== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134418== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134418== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134418== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134418== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134418== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134418== by 0x49B1142: setlocale (setlocale.c:337) ==134418== by 0x4001041: main (first.c:135) ==134418== ==134418== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==134418== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134418== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134418== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134418== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134418== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134418== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134418== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134418== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134418== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134418== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134418== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134418== by 0x49B1142: setlocale (setlocale.c:337) ==134418== by 0x4001041: main (first.c:135) ==134418== ==134418== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==134418== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134418== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134418== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134418== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134418== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134418== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134418== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134418== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134418== by 0x49B1142: setlocale (setlocale.c:337) ==134418== by 0x4001041: main (first.c:135) ==134418== ==134418== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==134418== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134418== by 0x491A603: Curl_open (url.c:517) ==134418== by 0x48952AF: curl_easy_init (easy.c:377) ==134418== by 0x40012FB: test (lib525.c:86) ==134418== by 0x400107D: main (first.c:196) ==134418== ==134418== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==134418== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134418== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134418== by 0x4A93FA5: tsearch (tsearch.c:290) ==134418== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134418== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134418== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134418== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134418== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134418== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134418== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134418== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134418== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134418== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134418== by 0x49B1142: setlocale (setlocale.c:337) ==134418== by 0x4001041: main (first.c:135) ==134418== ==134418== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==134418== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134418== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134418== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134418== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134418== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134418== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134418== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134418== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134418== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134418== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134418== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134418== by 0x49B1142: setlocale (setlocale.c:337) ==134418== by 0x4001041: main (first.c:135) ==134418== === End of file valgrind525 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/16/valgrind527 ./libtest/lib527 ftp://127.0.0.1:35865/path/527 > log/16/stdout527 2> log/16/stderr527 527: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind527 ./libtest/lib527 ftp://127.0.0.1:35865/path/527 > log/16/stdout527 2> log/16/stderr527 === End of file commands.log === Start of file ftp_server.log 20:54:54.281082 ====> Client connect 20:54:54.281180 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:54.281344 < "USER anonymous" 20:54:54.281366 > "331 We are happy you popped in![CR][LF]" 20:54:54.281463 < "PASS ftp@example.com" 20:54:54.281477 > "230 Welcome you silly person[CR][LF]" 20:54:54.281567 < "PWD" 20:54:54.281583 > "257 "/" is current directory[CR][LF]" 20:54:54.281674 < "EPSV" 20:54:54.281688 ====> Passive DATA channel requested by client 20:54:54.281696 DATA sockfilt for passive data channel starting... 20:54:54.282810 DATA sockfilt for passive data channel started (pid 134572) 20:54:54.282877 DATA sockfilt for passive data channel listens on port 45641 20:54:54.282900 > "229 Entering Passive Mode (|||45641|)[LF]" 20:54:54.282911 Client has been notified that DATA conn will be accepted on port 45641 20:54:54.283026 Client connects to port 45641 20:54:54.283044 ====> Client established passive DATA connection on port 45641 20:54:54.283106 < "TYPE I" 20:54:54.283123 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:54.283212 < "SIZE verifiedserver" 20:54:54.283231 > "213 18[CR][LF]" 20:54:54.283316 < "RETR verifiedserver" 20:54:54.283333 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:54.283375 =====> Closing passive DATA connection... 20:54:54.283384 Server disconnects passive DATA connection 20:54:54.283516 Server disconnected passive DATA connection 20:54:54.283532 DATA sockfilt for passive data channel quits (pid 134572) 20:54:54.283651 DATA sockfilt for passive data channel quit (pid 134572) 20:54:54.283664 =====> Closed passive DATA connection 20:54:54.283680 > "226 File transfer complete[CR][LF]" 20:54:54.325758 < "QUIT" 20:54:54.325803 > "221 bye bye baby[CR][LF]" 20:54:54.326608 MAIN sockfilt said DISC 20:54:54.326637 ====> Client disconnected 20:54:54.326678 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:54.502503 ====> Client connect 20:54:54.502691 Received DATA (on stdin) 20:54:54.502700 > 160 bytes data, server => client 20:54:54.502707 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:54.502714 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:54.502720 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:54.502762 < 16 bytes data, client => server 20:54:54.502769 'USER anonymous\r\n' 20:54:54.502872 Received DATA (on stdin) 20:54:54.502880 > 33 bytes data, server => client 20:54:54.502886 '331 We are happy you popped in!\r\n' 20:54:54.502916 < 22 bytes data, client => server 20:54:54.502923 'PASS ftp@example.com\r\n' 20:54:54.502981 Received DATA (on stdin) 20:54:54.502988 > 30 bytes data, server => client 20:54:54.502994 '230 Welcome you silly person\r\n' 20:54:54.503025 < 5 bytes data, client => server 20:54:54.503031 'PWD\r\n' 20:54:54.503086 Received DATA (on stdin) 20:54:54.503093 > 30 bytes data, server => client 20:54:54.503099 '257 "/" is current directory\r\n' 20:54:54.503133 < 6 bytes data, client => server 20:54:54.503139 'EPSV\r\n' 20:54:54.504419 Received DATA (on stdin) 20:54:54.504428 > 38 bytes data, server => client 20:54:54.504435 '229 Entering Passive Mode (|||45641|)\n' 20:54:54.504555 < 8 bytes data, client => server 20:54:54.504562 'TYPE I\r\n' 20:54:54.504626 Received DATA (on stdin) 20:54:54.504633 > 33 bytes data, server => client 20:54:54.504640 '200 I modify TYPE as you wanted\r\n' 20:54:54.504669 < 21 bytes data, client => server 20:54:54.504676 'SIZE verifiedserver\r\n' 20:54:54.504734 Received DATA (on stdin) 20:54:54.504741 > 8 bytes data, server => client 20:54:54.504747 '213 18\r\n' 20:54:54.504774 < 21 bytes data, client => server 20:54:54.504781 'RETR verifiedserver\r\n' 20:54:54.504889 Received DATA (on stdin) 20:54:54.504896 > 29 bytes data, server => client 20:54:54.504902 '150 Binary junk (18 bytes).\r\n' 20:54:54.505184 Received DATA (on stdin) 20:54:54.505192 > 28 bytes data, server => client 20:54:54.505199 '226 File transfer complete\r\n' 20:54:54.547153 < 6 bytes data, client => server 20:54:54.547171 'QUIT\r\n' 20:54:54.547323 Received DATA (on stdin) 20:54:54.547341 > 18 bytes data, server => client 20:54:54.547353 '221 bye bye baby\r\n' 20:54:54.548068 ====> Client disconnect 20:54:54.548181 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:54.504140 Running IPv4 version 20:54:54.504173 Listening on port 45641 20:54:54.504197 Wrote pid 134572 to log/16/server/ftp_sockdata.pid 20:54:54.504279 Received PING (on stdin) 20:54:54.504331 Received PORT (on stdin) 20:54:54.504499 ====> Client connect 20:54:54.504917 Received DATA (on stdin) 20:54:54.504925 > 18 bytes data, server => client 20:54:54.504932 'WE ROOLZ: 110697\r\n' 20:54:54.504948 Received DISC (on stdin) 20:54:54.504955 ====> Client forcibly disconnected 20:54:54.505046 Received QUIT (on stdin) 20:54:54.505053 quits 20:54:54.505083 ============> 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:35865/path/527 === End of file stderr527 === Start of file valgrind527 ==134574== ==134574== Process terminating with default action of signal 4 (SIGILL) ==134574== Illegal opcode at address 0x491A6B3 ==134574== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134574== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134574== by 0x491A6B3: Curl_open (url.c:538) ==134574== by 0x48952AF: curl_easy_init (easy.c:377) ==134574== by 0x4001288: test (lib526.c:73) ==134574== by 0x400106C: main (first.c:196) ==134574== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134574== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134574== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134574== by 0x4A93FA5: tsearch (tsearch.c:290) ==134574== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134574== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134574== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134574== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134574== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134574== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134574== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134574== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134574== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134574== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134574== by 0x49B1142: setlocale (setlocale.c:337) ==134574== by 0x4001041: main (first.c:135) ==134574== ==134574== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134574== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134574== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134574== by 0x4A93FA5: tsearch (tsearch.c:290) ==134574== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134574== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134574== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134574== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134574== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134574== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134574== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134574== by 0x49B1142: setlocale (setlocale.c:337) ==134574== by 0x4001041: main (first.c:135) ==134574== ==134574== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134574== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134574== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134574== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134574== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134574== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134574== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134574== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134574== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134574== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134574== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134574== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134574== by 0x49B1142: setlocale (setlocale.c:337) ==134574== by 0x4001041: main (first.c:135) ==134574== ==134574== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134574== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134574== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134574== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134574== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134574== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134574== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134574== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134574== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134574== by 0x49B1142: setlocale (setlocale.c:337) ==134574== by 0x4001041: main (first.c:135) ==134574== ==134574== 5,456 bytes in 1 blocks are definitely lost in loss record 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/16/valgrind528 ./libtest/lib526 http://127.0.0.1:33409/path/528 > log/16/stdout528 2> log/16/stderr528 48 of 655 ==134574== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134574== by 0x491A603: Curl_open (url.c:517) ==134574== by 0x48952AF: curl_easy_init (easy.c:377) ==134574== by 0x4001288: test (lib526.c:73) ==134574== by 0x400106C: main (first.c:196) ==134574== ==134574== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134574== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134574== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134574== by 0x4A93FA5: tsearch (tsearch.c:290) ==134574== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134574== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134574== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134574== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134574== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134574== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134574== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134574== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134574== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134574== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134574== by 0x49B1142: setlocale (setlocale.c:337) ==134574== by 0x4001041: main (first.c:135) ==134574== ==134574== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134574== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134574== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134574== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134574== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134574== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134574== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134574== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134574== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134574== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134574== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134574== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134574== by 0x49B1142: setlocale (setlocale.c:337) ==134574== by 0x4001041: main (first.c:135) ==134574== === End of file valgrind527 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/16/valgrind528 ./libtest/lib526 http://127.0.0.1:33409/path/528 > log/16/stdout528 2> log/16/stderr528 528: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 528 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind528 ./libtest/lib526 http://127.0.0.1:33409/path/528 > log/16/stdout528 2> log/16/stderr528 === End of file commands.log === Start of file http_server.log 20:54:55.174086 ====> Client connect 20:54:55.174109 accept_connection 3 returned 4 20:54:55.174130 accept_connection 3 returned 0 20:54:55.174143 Read 93 bytes 20:54:55.174150 Process 93 bytes request 20:54:55.174158 Got request: GET /verifiedserver HTTP/1.1 20:54:55.174165 Are-we-friendly question received 20:54:55.174182 Wrote request (93 bytes) input to log/16/server.input 20:54:55.174193 Identifying ourselves as friends 20:54:55.174228 Response sent (57 bytes) and written to log/16/server.response 20:54:55.174235 special request received, no persistency 20:54:55.174240 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:33409/path/528 === End of file stderr528 === Start of file valgrind528 ==134638== ==134638== Process terminating with default action of signal 4 (SIGILL) ==134638== Illegal opcode at address 0x491A6B3 ==134638== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134638== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134638== by 0x491A6B3: Curl_open (url.c:538) ==134638== by 0x48952AF: curl_easy_init (easy.c:377) ==134638== by 0x4001288: test (lib526.c:73) ==134638== by 0x400106C: main (first.c:196) ==134638== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134638== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134638== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134638== by 0x4A93FA5: tsearch (tsearch.c:290) ==134638== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134638== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134638== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134638== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134638== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134638== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134638== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134638== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134638== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134638== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134638== by 0x49B1142: setlocale (setlocale.c:337) ==134638== by 0x4001041: main (first.c:135) ==134638== ==134638== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134638== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134638== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134638== by 0x4A93FA5: tsearch (tsearch.c:290) ==134638== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134638== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134638== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134638== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134638== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134638== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134638== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134638== by 0x49B1142: setlocale (setlocale.c:337) ==134638== by 0x4001041: main (first.c:135) ==134638== ==134638== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134638== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134638== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134638== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134638== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134638== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134638== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134638== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134638== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134638== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134638== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134638== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134638== by 0x49B1142: setlocale (setlocale.c:337) ==134638== by 0x4001041: main (first.c:135) ==134638== ==134638== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134638== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134638== by 0x49A60A9: 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/16/valgrind529 ./libtest/lib529 ftp://127.0.0.1:35865/path/529 log/16/upload529 > log/16/stdout529 2> log/16/stderr529 (gconv_conf.c:132) ==134638== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134638== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134638== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134638== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134638== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134638== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134638== by 0x49B1142: setlocale (setlocale.c:337) ==134638== by 0x4001041: main (first.c:135) ==134638== ==134638== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134638== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134638== by 0x491A603: Curl_open (url.c:517) ==134638== by 0x48952AF: curl_easy_init (easy.c:377) ==134638== by 0x4001288: test (lib526.c:73) ==134638== by 0x400106C: main (first.c:196) ==134638== ==134638== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134638== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134638== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134638== by 0x4A93FA5: tsearch (tsearch.c:290) ==134638== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134638== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134638== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134638== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134638== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134638== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134638== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134638== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134638== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134638== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134638== by 0x49B1142: setlocale (setlocale.c:337) ==134638== by 0x4001041: main (first.c:135) ==134638== ==134638== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134638== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134638== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134638== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134638== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134638== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134638== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134638== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134638== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134638== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134638== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134638== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134638== by 0x49B1142: setlocale (setlocale.c:337) ==134638== by 0x4001041: main (first.c:135) ==134638== === 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/16/valgrind529 ./libtest/lib529 ftp://127.0.0.1:35865/path/529 log/16/upload529 > log/16/stdout529 2> log/16/stderr529 529: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind529 ./libtest/lib529 ftp://127.0.0.1:35865/path/529 log/16/upload529 > log/16/stdout529 2> log/16/stderr529 === End of file commands.log === Start of file ftp_server.log 20:54:55.571484 ====> Client connect 20:54:55.571626 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:55.571841 < "USER anonymous" 20:54:55.571867 > "331 We are happy you popped in![CR][LF]" 20:54:55.571978 < "PASS ftp@example.com" 20:54:55.571994 > "230 Welcome you silly person[CR][LF]" 20:54:55.572128 < "PWD" 20:54:55.572148 > "257 "/" is current directory[CR][LF]" 20:54:55.572244 < "EPSV" 20:54:55.572258 ====> Passive DATA channel requested by client 20:54:55.572266 DATA sockfilt for passive data channel starting... 20:54:55.573521 DATA sockfilt for passive data channel started (pid 134701) 20:54:55.573633 DATA sockfilt for passive data channel listens on port 34661 20:54:55.573672 > "229 Entering Passive Mode (|||34661|)[LF]" 20:54:55.573685 Client has been notified that DATA conn will be accepted on port 34661 20:54:55.573845 Client connects to port 34661 20:54:55.573863 ====> Client established passive DATA connection on port 34661 20:54:55.573905 < "TYPE I" 20:54:55.573922 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:55.574012 < "SIZE verifiedserver" 20:54:55.574032 > "213 18[CR][LF]" 20:54:55.574116 < "RETR verifiedserver" 20:54:55.574134 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:55.574178 =====> Closing passive DATA connection... 20:54:55.574187 Server disconnects passive DATA connection 20:54:55.574322 Server disconnected passive DATA connection 20:54:55.574339 DATA sockfilt for passive data channel quits (pid 134701) 20:54:55.574494 DATA sockfilt for passive data channel quit (pid 134701) 20:54:55.574507 =====> Closed passive DATA connection 20:54:55.574522 > "226 File transfer complete[CR][LF]" 20:54:55.615479 < "QUIT" 20:54:55.615499 > "221 bye bye baby[CR][LF]" 20:54:55.616010 MAIN sockfilt said DISC 20:54:55.616028 ====> Client disconnected 20:54:55.616061 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:55.792917 ====> Client connect 20:54:55.793150 Received DATA (on stdin) 20:54:55.793167 > 160 bytes data, server => client 20:54:55.793180 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:55.793192 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:55.793202 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:55.793252 < 16 bytes data, client => server 20:54:55.793261 'USER anonymous\r\n' 20:54:55.793373 Received DATA (on stdin) 20:54:55.793381 > 33 bytes data, server => client 20:54:55.793387 '331 We are happy you popped in!\r\n' 20:54:55.793418 < 22 bytes data, client => server 20:54:55.793425 'PASS ftp@example.com\r\n' 20:54:55.793497 Received DATA (on stdin) 20:54:55.793504 > 30 bytes data, server => client 20:54:55.793510 '230 Welcome you silly person\r\n' 20:54:55.793554 < 5 bytes data, client => server 20:54:55.793564 'PWD\r\n' 20:54:55.793653 Received DATA (on stdin) 20:54:55.793660 > 30 bytes data, server => client 20:54:55.793666 '257 "/" is current directory\r\n' 20:54:55.793701 < 6 bytes data, client => server 20:54:55.793708 'EPSV\r\n' 20:54:55.795197 Received DATA (on stdin) 20:54:55.795206 > 38 bytes data, server => client 20:54:55.795213 '229 Entering Passive Mode (|||34661|)\n' 20:54:55.795316 < 8 bytes data, client => server 20:54:55.795323 'TYPE I\r\n' 20:54:55.795426 Received DATA (on stdin) 20:54:55.795433 > 33 bytes data, server => client 20:54:55.795440 '200 I modify TYPE as you wanted\r\n' 20:54:55.795469 < 21 bytes data, client => server 20:54:55.795475 'SIZE verifiedserver\r\n' 20:54:55.795535 Received DATA (on stdin) 20:54:55.795542 > 8 bytes data, server => client 20:54:55.795548 '213 18\r\n' 20:54:55.795574 < 21 bytes data, client => server 20:54:55.795581 'RETR verifiedserver\r\n' 20:54:55.795747 Received DATA (on stdin) 20:54:55.795754 > 29 bytes data, server => client 20:54:55.795761 '150 Binary junk (18 bytes).\r\n' 20:54:55.796026 Received DATA (on stdin) 20:54:55.796034 > 28 bytes data, server => client 20:54:55.796041 '226 File transfer complete\r\n' 20:54:55.836915 < 6 bytes data, client => server 20:54:55.836928 'QUIT\r\n' 20:54:55.837005 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/16/valgrind530 ./libtest/lib530 http://127.0.0.1:33409/file530 > log/16/stdout530 2> log/16/stderr530 DATA (on stdin) 20:54:55.837013 > 18 bytes data, server => client 20:54:55.837020 '221 bye bye baby\r\n' 20:54:55.837486 ====> Client disconnect 20:54:55.837577 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:55.794905 Running IPv4 version 20:54:55.794946 Listening on port 34661 20:54:55.794969 Wrote pid 134701 to log/16/server/ftp_sockdata.pid 20:54:55.794981 Received PING (on stdin) 20:54:55.795057 Received PORT (on stdin) 20:54:55.795294 ====> Client connect 20:54:55.795692 Received DATA (on stdin) 20:54:55.795700 > 18 bytes data, server => client 20:54:55.795709 'WE ROOLZ: 110697\r\n' 20:54:55.795725 Received DISC (on stdin) 20:54:55.795732 ====> Client forcibly disconnected 20:54:55.795848 Received QUIT (on stdin) 20:54:55.795856 quits 20:54:55.795891 ============> 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:35865/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==134703== ==134703== Process terminating with default action of signal 4 (SIGILL) ==134703== Illegal opcode at address 0x491A6B3 ==134703== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134703== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134703== by 0x491A6B3: Curl_open (url.c:538) ==134703== by 0x48952AF: curl_easy_init (easy.c:377) ==134703== by 0x40012FB: test (lib525.c:86) ==134703== by 0x400107D: main (first.c:196) ==134703== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==134703== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134703== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134703== by 0x4A93FA5: tsearch (tsearch.c:290) ==134703== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134703== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134703== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134703== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134703== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134703== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134703== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134703== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134703== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134703== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134703== by 0x49B1142: setlocale (setlocale.c:337) ==134703== by 0x4001041: main (first.c:135) ==134703== ==134703== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==134703== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134703== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134703== by 0x4A93FA5: tsearch (tsearch.c:290) ==134703== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134703== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134703== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134703== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134703== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134703== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134703== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134703== by 0x49B1142: setlocale (setlocale.c:337) ==134703== by 0x4001041: main (first.c:135) ==134703== ==134703== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==134703== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134703== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134703== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134703== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134703== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134703== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134703== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134703== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134703== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134703== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134703== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134703== by 0x49B1142: setlocale (setlocale.c:337) ==134703== by 0x4001041: main (first.c:135) ==134703== ==134703== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==134703== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134703== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134703== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134703== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134703== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134703== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134703== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134703== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134703== by 0x49B1142: setlocale (setlocale.c:337) ==134703== by 0x4001041: main (first.c:135) ==134703== ==134703== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==134703== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134703== by 0x491A603: Curl_open (url.c:517) ==134703== by 0x48952AF: curl_easy_init (easy.c:377) ==134703== by 0x40012FB: test (lib525.c:86) ==134703== by 0x400107D: main (first.c:196) ==134703== ==134703== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==134703== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134703== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134703== by 0x4A93FA5: tsearch (tsearch.c:290) ==134703== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134703== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134703== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134703== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134703== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134703== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134703== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134703== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134703== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134703== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134703== by 0x49B1142: setlocale (setlocale.c:337) ==134703== by 0x4001041: main (first.c:135) ==134703== ==134703== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==134703== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134703== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134703== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134703== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134703== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134703== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134703== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134703== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134703== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134703== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134703== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134703== by 0x49B1142: setlocale (setlocale.c:337) ==134703== by 0x4001041: main (first.c:135) ==134703== === End of file valgrind529 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/16/valgrind530 ./libtest/lib530 http://127.0.0.1:33409/file530 > log/16/stdout530 2> log/16/stderr530 lib530 returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/16/ dir after test 530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind530 ./libtest/lib530 http://127.0.0.1:33409/file530 > log/16/stdout530 2> log/16/stderr530 === End of file commands.log === Start of file http_server.log 20:54:56.477883 ====> Client connect 20:54:56.477906 accept_connection 3 returned 4 20:54:56.477918 accept_connection 3 returned 0 20:54:56.477927 Read 93 bytes 20:54:56.477934 Process 93 bytes request 20:54:56.477943 Got request: GET /verifiedserver HTTP/1.1 20:54:56.477949 Are-we-friendly question received 20:54:56.477964 Wrote request (93 bytes) input to log/16/server.input 20:54:56.477979 Identifying ourselves as friends 20:54:56.478012 Response sent (57 bytes) and written to log/16/server.response 20:54:56.478019 special request received, no persistency 20:54:56.478025 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:33409/file530 start test: 0 0 === End of file stderr530 === Start of file valgrind530 ==134771== ==134771== Process terminating with default action of signal 4 (SIGILL) ==134771== Illegal opcode at address 0x491B6B3 ==134771== at 0x491B6B3: UnknownInlinedFun (string_fortified.h:59) ==134771== by 0x491B6B3: UnknownInlinedFun (request.c:46) ==134771== by 0x491B6B3: Curl_open (url.c:538) ==134771== by 0x48962AF: curl_easy_init (easy.c:377) ==134771== by 0x4001B8C: testone (lib530.c:289) ==134771== by 0x4001094: UnknownInlinedFun (lib530.c:382) ==134771== by 0x4001094: main (first.c:196) ==134771== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134771== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==134771== by 0x4A94FA5: __tsearch (tsearch.c:337) ==134771== by 0x4A94FA5: tsearch (tsearch.c:290) ==134771== by 0x49A70F4: add_alias2.part.0 (gconv_conf.c:142) ==134771== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==134771== by 0x49A73F0: add_alias (gconv_conf.c:178) ==134771== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134771== by 0x49A7555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134771== by 0x49A7555: __gconv_read_conf (gconv_conf.c:480) ==134771== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134771== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134771== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==134771== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==134771== by 0x49B2142: setlocale (setlocale.c:337) ==134771== by 0x4001061: main (first.c:135) ==134771== ==134771== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134771== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==134771== by 0x4A94FA5: __tsearch (tsearch.c:337) ==134771== by 0x4A94FA5: tsearch (tsearch.c:290) ==134771== by 0x49A70F4: add_alias2.part.0 (gconv_conf.c:142) ==134771== by 0x49A774A: add_alias2 (gconv_conf.c:105) ==134771== by 0x49A774A: __gconv_read_conf (gconv_conf.c:508) ==134771== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134771== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134771== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==134771== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==134771== by 0x49B2142: setlocale (setlocale.c:337) ==134771== by 0x4001061: main (first.c:135) ==134771== ==134771== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134771== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==134771== by 0x49A70A9: add_alias2.part.0 (gconv_conf.c:132) ==134771== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==134771== by 0x49A73F0: add_alias (gconv_conf.c:178) ==134771== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134771== by 0x49A7555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134771== by 0x49A7555: __gconv_read_conf (gconv_conf.c:480) ==134771== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134771== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134771== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==134771== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==134771== by 0x49B2142: setlocale (setlocale.c:337) ==134771== by 0x4001061: main (first.c:135) ==134771== ==134771== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134771== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==134771== by 0x49A70A9: add_alias2.part.0 (gconv_conf.c:132) ==134771== by 0x49A774A: add_alias2 (gconv_conf.c:105) ==134771== by 0x49A774A: __gconv_read_conf (gconv_conf.c:508) ==134771== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134771== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134771== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==134771== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==134771== by 0x49B2142: setlocale (setlocale.c:337) ==134771== by 0x4001061: main (first.c:135) ==134771== ==134771== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134771== at 0x4852C13: calloc (vg_replace_malloc.c:1675) ==134771== by 0x491B603: Curl_open (url.c:517) ==134771== by 0x48962AF: curl_easy_init (easy.c:377) ==134771== by 0x4001B8C: testone (lib530.c:289) ==134771== by 0x4001094: UnknownInlinedFun (lib530.c:382) ==134771== by 0x4001094: main (first.c:196) ==134771== ==134771== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134771== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==134771== by 0x4A94FA5: __tsearch (tsearch.c:337) ==134771== by 0x4A94FA5: tsearch (tsearch.c:290) ==134771== by 0x49A70F4: add_alias2.part.0 (gconv_conf.c:142) ==134771== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==134771== by 0x49A73F0: add_alias (gconv_conf.c:178) ==134771== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134771== by 0x49A7775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134771== by 0x49A7775: __gconv_read_conf (gconv_conf.c:480) ==134771== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134771== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134771== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==134771== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==134771== by 0x49B2142: setlocale (setlocale.c:337) ==134771== by 0x4001061: main (first.c:135) ==134771== ==134771== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134771== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==134771== by 0x49A70A9: add_alias2.part.0 (gconv_conf.c:132) ==134771== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==134771== by 0x49A73F0: add_alias (gconv_conf.c:178) ==134771== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134771== by 0x49A7775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134771== by 0x49A7775: __gconv_read_conf (gconv_conf.c:480) ==134771== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134771== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134771== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==134771== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==134771== by 0x49B2142: setlocaCMD (33792): ../libtool --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/valgrind526 ./libtest/lib526 ftp://127.0.0.1:40643/path/526 > log/7/stdout526 2> log/7/stderr526 le (setlocale.c:337) ==134771== by 0x4001061: main (first.c:135) ==134771== === End of file valgrind530 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/7/valgrind526 ./libtest/lib526 ftp://127.0.0.1:40643/path/526 > log/7/stdout526 2> log/7/stderr526 526: 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 526 === Start of file commands.log ../libtool --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/valgrind526 ./libtest/lib526 ftp://127.0.0.1:40643/path/526 > log/7/stdout526 2> log/7/stderr526 === End of file commands.log === Start of file ftp_server.log 20:54:44.936414 ====> Client connect 20:54:44.936524 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:44.936691 < "USER anonymous" 20:54:44.936712 > "331 We are happy you popped in![CR][LF]" 20:54:44.936805 < "PASS ftp@example.com" 20:54:44.936821 > "230 Welcome you silly person[CR][LF]" 20:54:44.936904 < "PWD" 20:54:44.936923 > "257 "/" is current directory[CR][LF]" 20:54:44.937010 < "EPSV" 20:54:44.937025 ====> Passive DATA channel requested by client 20:54:44.937033 DATA sockfilt for passive data channel starting... 20:54:44.938157 DATA sockfilt for passive data channel started (pid 134503) 20:54:44.938220 DATA sockfilt for passive data channel listens on port 38827 20:54:44.938243 > "229 Entering Passive Mode (|||38827|)[LF]" 20:54:44.938255 Client has been notified that DATA conn will be accepted on port 38827 20:54:44.938357 Client connects to port 38827 20:54:44.938379 ====> Client established passive DATA connection on port 38827 20:54:44.938419 < "TYPE I" 20:54:44.938435 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:44.938521 < "SIZE verifiedserver" 20:54:44.938543 > "213 18[CR][LF]" 20:54:44.938623 < "RETR verifiedserver" 20:54:44.938650 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:44.938708 =====> Closing passive DATA connection... 20:54:44.938721 Server disconnects passive DATA connection 20:54:44.938764 Server disconnected passive DATA connection 20:54:44.938776 DATA sockfilt for passive data channel quits (pid 134503) 20:54:44.938914 DATA sockfilt for passive data channel quit (pid 134503) 20:54:44.938954 =====> Closed passive DATA connection 20:54:44.938989 > "226 File transfer complete[CR][LF]" 20:54:44.985739 < "QUIT" 20:54:44.985769 > "221 bye bye baby[CR][LF]" 20:54:44.986277 MAIN sockfilt said DISC 20:54:44.986294 ====> Client disconnected 20:54:44.986335 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:45.157848 ====> Client connect 20:54:45.158038 Received DATA (on stdin) 20:54:45.158047 > 160 bytes data, server => client 20:54:45.158055 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:45.158062 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:45.158068 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:45.158111 < 16 bytes data, client => server 20:54:45.158121 'USER anonymous\r\n' 20:54:45.158219 Received DATA (on stdin) 20:54:45.158227 > 33 bytes data, server => client 20:54:45.158233 '331 We are happy you popped in!\r\n' 20:54:45.158266 < 22 bytes data, client => server 20:54:45.158276 'PASS ftp@example.com\r\n' 20:54:45.158326 Received DATA (on stdin) 20:54:45.158333 > 30 bytes data, server => client 20:54:45.158339 '230 Welcome you silly person\r\n' 20:54:45.158369 < 5 bytes data, client => server 20:54:45.158379 'PWD\r\n' 20:54:45.158427 Received DATA (on stdin) 20:54:45.158434 > 30 bytes data, server => client 20:54:45.158440 '257 "/" is current directory\r\n' 20:54:45.158476 < 6 bytes data, client => server 20:54:45.158486 'EPSV\r\n' 20:54:45.159737 Received DATA (on stdin) 20:54:45.159746 > 38 bytes data, server => client 20:54:45.159755 '229 Entering Passive Mode (|||38827|)\n' 20:54:45.159827 < 8 bytes data, client => server 20:54:45.159839 'TYPE I\r\n' 20:54:45.159940 Received DATA (on stdin) 20:54:45.159947 > 33 bytes data, server => client 20:54:45.159954 '200 I modify TYPE as you wanted\r\n' 20:54:45.159985 < 21 bytes data, client => server 20:54:45.159996 'SIZE verifiedserver\r\n' 20:54:45.160047 Received DATA (on stdin) 20:54:45.160054 > 8 bytes data, server => client 20:54:45.160061 '213 18\r\n' 20:54:45.160090 < 21 bytes data, client => server 20:54:45.160100 'RETR verifiedserver\r\n' 20:54:45.160216 Received DATA (on stdin) 20:54:45.160232 > 29 bytes data, server => client 20:54:45.160241 '150 Binary junk (18 bytes).\r\n' 20:54:45.160510 Received DATA (on stdin) 20:54:45.160526 > 28 bytes data, server => client 20:54:45.160537 '226 File transfer complete\r\n' 20:54:45.207139 < 6 bytes data, client => server 20:54:45.207159 'QUIT\r\n' 20:54:45.207282 Received DATA (on stdin) 20:54:45.207293 > 18 bytes data, server => client 20:54:45.207303 '221 bye bye baby\r\n' 20:54:45.207750 ====> Client disconnect 20:54:45.207840 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:44.159493 Running IPv4 version 20:54:44.159527 Listening on port 38827 20:54:44.159551 Wrote pid 134503 to log/7/server/ftp_sockdata.pid 20:54:44.159629 Received PING (on stdin) 20:54:44.159676 Received PORT (on stdin) 20:54:44.159829 ====> Client connect 20:54:44.160160 Received DATA (on stdin) 20:54:44.160170 > 18 bytes data, server => client 20:54:44.160178 'WE ROOLZ: 110634\r\n' 20:54:44.160230 Received DISC (on stdin) 20:54:44.160238 ====> Client forcibly disconnected 20:54:44.160283 Received QUIT (on stdin) 20:54:44.160290 quits 20:54:44.160325 ============> 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:40643/path/526 === End of file stderr526 === Start of file valgrind526 ==134507== ==134507== Process terminating with default action of signal 4 (SIGILL) ==134507== Illegal opcode at address 0x491A6B3 ==134507== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134507== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134507== by 0x491A6B3: Curl_open (url.c:538) ==134507== by 0x48952AF: curl_easy_init (easy.c:377) ==134507== by 0x4001288: test (lib526.c:73) ==134507== by 0x400106C: main (first.c:196) ==134507== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134507== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134507== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134507== by 0x4A93FA5: tsearch (tsearch.c:290) ==134507== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134507== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134507== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134507== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134507== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134507== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134507== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134507== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134507== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134507== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134507== by 0x49B1142: setlocale (setlocale.c:337) ==134507== by 0x4001041: main (first.c:135) ==134507== ==134507== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134507== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134507== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134507== by 0x4A93FA5: tsearch (tsearch.c:290) ==134507== 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/16/valgrind531 ./libtest/lib525 ftp://127.0.0.1:35865/path/531 log/16/upload531 > log/16/stdout531 2> log/16/stderr531 A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134507== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134507== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134507== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134507== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134507== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134507== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134507== by 0x49B1142: setlocale (setlocale.c:337) ==134507== by 0x4001041: main (first.c:135) ==134507== ==134507== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134507== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134507== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134507== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134507== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134507== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134507== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134507== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134507== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134507== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134507== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134507== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134507== by 0x49B1142: setlocale (setlocale.c:337) ==134507== by 0x4001041: main (first.c:135) ==134507== ==134507== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134507== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134507== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134507== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134507== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134507== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134507== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134507== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134507== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134507== by 0x49B1142: setlocale (setlocale.c:337) ==134507== by 0x4001041: main (first.c:135) ==134507== ==134507== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134507== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134507== by 0x491A603: Curl_open (url.c:517) ==134507== by 0x48952AF: curl_easy_init (easy.c:377) ==134507== by 0x4001288: test (lib526.c:73) ==134507== by 0x400106C: main (first.c:196) ==134507== ==134507== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134507== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134507== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134507== by 0x4A93FA5: tsearch (tsearch.c:290) ==134507== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134507== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134507== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134507== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134507== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134507== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134507== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134507== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134507== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134507== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134507== by 0x49B1142: setlocale (setlocale.c:337) ==134507== by 0x4001041: main (first.c:135) ==134507== ==134507== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134507== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134507== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134507== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134507== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134507== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134507== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134507== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134507== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134507== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134507== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134507== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134507== by 0x49B1142: setlocale (setlocale.c:337) ==134507== by 0x4001041: main (first.c:135) ==134507== === End of file valgrind526 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/16/valgrind531 ./libtest/lib525 ftp://127.0.0.1:35865/path/531 log/16/upload531 > log/16/stdout531 2> log/16/stderr531 531: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind531 ./libtest/lib525 ftp://127.0.0.1:35865/path/531 log/16/upload531 > log/16/stdout531 2> log/16/stderr531 === End of file commands.log === Start of file ftp_server.log 20:54:56.861763 ====> Client connect 20:54:56.861859 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:56.862016 < "USER anonymous" 20:54:56.862073 > "331 We are happy you popped in![CR][LF]" 20:54:56.862214 < "PASS ftp@example.com" 20:54:56.862238 > "230 Welcome you silly person[CR][LF]" 20:54:56.862374 < "PWD" 20:54:56.862397 > "257 "/" is current directory[CR][LF]" 20:54:56.862521 < "EPSV" 20:54:56.862535 ====> Passive DATA channel requested by client 20:54:56.862543 DATA sockfilt for passive data channel starting... 20:54:56.863577 DATA sockfilt for passive data channel started (pid 134834) 20:54:56.863643 DATA sockfilt for passive data channel listens on port 37603 20:54:56.863665 > "229 Entering Passive Mode (|||37603|)[LF]" 20:54:56.863676 Client has been notified that DATA conn will be accepted on port 37603 20:54:56.863789 Client connects to port 37603 20:54:56.863807 ====> Client established passive DATA connection on port 37603 20:54:56.863866 < "TYPE I" 20:54:56.863881 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:56.863967 < "SIZE verifiedserver" 20:54:56.863986 > "213 18[CR][LF]" 20:54:56.864069 < "RETR verifiedserver" 20:54:56.864086 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:56.864128 =====> Closing passive DATA connection... 20:54:56.864137 Server disconnects passive DATA connection 20:54:56.864228 Server disconnected passive DATA connection 20:54:56.864240 DATA sockfilt for passive data channel quits (pid 134834) 20:54:56.864369 DATA sockfilt for passive data channel quit (pid 134834) 20:54:56.864383 =====> Closed passive DATA connection 20:54:56.864398 > "226 File transfer complete[CR][LF]" 20:54:56.905752 < "QUIT" 20:54:56.905772 > "221 bye bye baby[CR][LF]" 20:54:56.906220 MAIN sockfilt said DISC 20:54:56.906248 ====> Client disconnected 20:54:56.906298 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:57.083200 ====> Client connect 20:54:57.083371 Received DATA (on stdin) 20:54:57.083380 > 160 bytes data, server => client 20:54:57.083388 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:57.083395 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:57.083401 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:57.083443 < 16 bytes data, client => server 20:54:57.083454 'USER anonymous\r\n' 20:54:57.083568 Received DATA (on stdin) 20:54:57.083576 > 33 bytes data, server => client 20:54:57.083583 '331 We are happy you popped in!\r\n' 20:54:57.083637 < 22 bytes data, client => server 20:54:57.083652 'PASS ftp@example.com\r\n' 20:54:57.083748 Received DATA (on stdin) 20:54:57.083759 > 30 bytes data, server => client 20:54:57.083769 '230 Welcome you silly person\r\n' 20:54:57.083813 < 5 bytes data, client => server 20:54:57.083823 'PWD\r\n' 20:54:57.083905 Received DATA (on stdin) 20:54:57.083916 > 30 bytes data, server => client 20:54:57.083925 '257 "/" is current directory\r\n' 20:54:57.083974 < 6 bytes data, client => server 20:54:57.083982 'EPSV\r\n' 20:54:57.085183 Received DATA (on stdin) 20:54:57.085191 > 38 bytes data, server => client 20:54:57.085198 '229 Entering Passive Mode (|||37603|)\n' 20:54:57.085318 < 8 bytes data, client => server 20:54:57.085325 'TYPE I\r\n' 20:54:57.085384 Received DATA (on stdin) 20:54:57.085391 > 33 bytes data, server => client 20:54:57.085397 '200 I modify TYPE as you wanted\r\n' 20:54:57.085426 < 21 bytes data, client => server 20:54:57.085432 'SIZE verifiedserver\r\n' 20:54:57.085489 Received DATA (on stdin) 20:54:57.085496 > 8 bytes data, server => client 20:54:57.085502 '213 18\r\n' 20:54:57.085529 < 21 bytes data, client => server 20:54:57.085535 'RETR verifiedserver\r\n' 20:54:57.085640 Received DATA (on stdin) 20:54:57.085647 > 29 bytes data, server => client 20:54:57.085653 '150 Binary junk (18 bytes).\r\n' 20:54:57.085902 Received DATA (on stdin) 20:54:57.085910 > 28 bytes data, server => client 20:54:57.085917 '226 File transfer complete\r\n' 20:54:57.127191 < 6 bytes data, client => server 20:54:57.127206 'QUIT\r\n' 20:54:57.127276 Received DATA (on stdin) 20:54:57.127284 > 18 bytes data, server => client 20:54:57.127298 '221 bye bye baby\r\n' 20:54:57.127675 ====> Client disconnect 20:54:57.127780 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:56.084910 Running IPv4 version 20:54:56.084942 Listening on port 37603 20:54:56.084964 Wrote pid 134834 to log/16/server/ftp_sockdata.pid 20:54:56.085048 Received PING (on stdin) 20:54:56.085096 Received PORT (on stdin) 20:54:56.085261 ====> Client connect 20:54:56.085668 Received DATA (on stdin) 20:54:56.085676 > 18 bytes data, server => client 20:54:56.085682 'WE ROOLZ: 110697\r\n' 20:54:56.085695 Received DISC (on stdin) 20:54:56.085702 ====> Client forcibly disconnected 20:54:56.085749 Received QUIT (on stdin) 20:54:56.085755 quits 20:54:56.085787 ============> 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:35865/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo don't upload this === End of file upload531 === Start of file valgrind531 ==134836== ==134836== Process terminating with default action of signal 4 (SIGILL) ==134836== Illegal opcode at address 0x491A6B3 ==134836== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134836== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134836== by 0x491A6B3: Curl_open (url.c:538) ==134836== by 0x48952AF: curl_easy_init (easy.c:377) ==134836== by 0x40012FB: test (lib525.c:86) ==134836== by 0x400107D: main (first.c:196) ==134836== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==134836== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134836== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134836== by 0x4A93FA5: tsearch (tsearch.c:290) ==134836== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134836== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134836== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134836== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134836== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134836== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134836== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134836== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134836== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134836== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134836== by 0x49B1142: setlocale (setlocale.c:337) ==134836== by 0x4001041: main (first.c:135) ==134836== ==134836== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==134836== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134836== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134836== by 0x4A93FA5: tsearch (tsearch.c:290) ==134836== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134836== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134836== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134836== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134836== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134836== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134836== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134836== by 0x49B1142: setlocale (setlocale.c:337) ==134836== by 0x4001041: main (first.c:135) ==134836== ==134836== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==134836== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134836== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134836== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134836== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134836== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134836== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134836== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134836== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134836== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134836== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134836== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134836== by 0x49B1142: setlocale (setlocale.c:337) ==134836== by 0x4001041: main (first.c:135) ==134836== ==134836== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==134836== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134836== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134836== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134836== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134836== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134836== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134836== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134836== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134836== by 0x49B1142: setlocale (setlocale.c:337) ==134836== by 0x4001041: main (first.c:135) ==134836== ==134836== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==134836== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134836== by 0x491A603: Curl_open (url.c:517) ==134836== by 0x48952AF: curl_easy_init (easy.c:377) ==134836== by 0x40012FB: test (lib525.c:86) ==134836== by 0x400107D: main (first.c:196) ==134836== ==134836== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==134836== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134836== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134836== by 0x4A93FA5: tsearch (tsearch.c:290) ==134836== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134836== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134836== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134836== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134836== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134836== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134836== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134836== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134836== by 0x49A5246: __gconv_compare_alias (gconv_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind502 ./libtest/lib502 file:///startdir/src/build-curl/tests/log/24/test502.txt > log/24/stdout502 2> log/24/stderr502 db.c:692) ==134836== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134836== by 0x49B1142: setlocale (setlocale.c:337) ==134836== by 0x4001041: main (first.c:135) ==134836== ==134836== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==134836== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134836== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134836== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134836== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134836== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134836== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134836== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134836== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134836== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134836== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134836== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134836== by 0x49B1142: setlocale (setlocale.c:337) ==134836== by 0x4001041: main (first.c:135) ==134836== === End of file valgrind531 CMD (33792): ../libtool --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/valgrind515 ./libtest/lib515 http://127.0.0.1:44265/515 > log/11/stdout515 2> log/11/stderr515 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/24/valgrind502 ./libtest/lib502 file:///startdir/src/build-curl/tests/log/24/test502.txt > log/24/stdout502 2> log/24/stderr502 502: data FAILED: --- log/24/check-expected 2025-06-04 20:54:57.653031927 +0000 +++ log/24/check-generated 2025-06-04 20:54:57.653031927 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/24/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind502 ./libtest/lib502 file:///startdir/src/build-curl/tests/log/24/test502.txt > log/24/stdout502 2> log/24/stderr502 === End of file commands.log === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file stderr502 URL: file:///startdir/src/build-curl/tests/log/24/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 ==132894== ==132894== Process terminating with default action of signal 4 (SIGILL) ==132894== Illegal opcode at address 0x491A6B3 ==132894== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==132894== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==132894== by 0x491A6B3: Curl_open (url.c:538) ==132894== by 0x48952AF: curl_easy_init (easy.c:377) ==132894== by 0x40012B1: test.part.0 (lib502.c:47) ==132894== by 0x40010CC: UnknownInlinedFun (lib502.c:45) ==132894== by 0x40010CC: main (first.c:196) ==132894== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==132894== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132894== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132894== by 0x4A93FA5: tsearch (tsearch.c:290) ==132894== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132894== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132894== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132894== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132894== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==132894== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==132894== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132894== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132894== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132894== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132894== by 0x49B1142: setlocale (setlocale.c:337) ==132894== by 0x4001052: main (first.c:135) ==132894== ==132894== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==132894== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132894== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132894== by 0x4A93FA5: tsearch (tsearch.c:290) ==132894== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132894== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==132894== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==132894== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132894== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132894== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132894== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132894== by 0x49B1142: setlocale (setlocale.c:337) ==132894== by 0x4001052: main (first.c:135) ==132894== ==132894== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==132894== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132894== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132894== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132894== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132894== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132894== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==132894== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==132894== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132894== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132894== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132894== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132894== by 0x49B1142: setlocale (setlocale.c:337) ==132894== by 0x4001052: main (first.c:135) ==132894== ==132894== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==132894== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132894== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132894== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==132894== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==132894== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132894== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132894== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132894== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132894== by 0x49B1142: setlocale (setlocale.c:337) ==132894== by 0x4001052: main (first.c:135) ==132894== ==132894== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==132894== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==132894== by 0x491A603: Curl_open (url.c:517) ==132894== by 0x48952AF: curl_easy_init (easy.c:377) ==132894== by 0x40012B1: test.part.0 (lib502.c:47) ==132894== by 0x40010CC: UnknownInlinedFun (lib502.c:45) ==132894== by 0x40010CC: main (first.c:196) ==132894== ==132894== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==132894== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132894== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132894== by 0x4A93FA5: tsearch (tsearch.c:290) ==132894== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132894== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132894== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132894== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132894== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==132894== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==132894== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132894== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132894== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132894== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132894== by 0x49B1142: setlocale (setlocale.c:337) ==132894== by 0x4001052: main (first.c:135) ==132894== ==132894== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==132894== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132894== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132894== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132894== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132894== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132894== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==132894== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==132894== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132894== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132894== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132894== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132894== by 0x49B1142: setlocale (setlocale.c:337) ==132894== by 0x4001052: main (first.c:135) ==132894== === End of file valgrind502 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/11/valgrind515 ./libtest/lib515 http://127.0.0.1:44265/515 > log/11/stdout515 2> log/11/stderr515 515: 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 515 === Start of file commands.log ../libtool --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/valgrind515 ./libtest/lib515 http://127.0.0.1:44265/515 > log/11/stdout515 2> log/11/stderr515 === End of file commands.log === Start of file http_server.log 20:54:44.210879 ====> Client connect 20:54:44.210909 accept_connection 3 returned 4 20:54:44.210926 accept_connection 3 returned 0 20:54:44.210939 Read 93 bytes 20:54:44.210949 Process 93 bytes request 20:54:44.210959 Got request: GET /verifiedserver HTTP/1.1 20:54:44.210969 Are-we-friendly question received 20:54:44.210993 Wrote request (93 bytes) input to log/11/server.input 20:54:44.211009 Identifying ourselves as friends 20:54:44.211060 Response sent (57 bytes) and written to log/11/server.response 20:54:44.211070 special request received, no persistency 20:54:44.211078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:44265/515 === End of file stderr515 === Start of file valgrind515 ==133672== ==133672== Process terminating with default action of signal 4 (SIGILL) ==133672== Illegal opcode at address 0x491A6B3 ==133672== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133672== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133672== by 0x491A6B3: Curl_open (url.c:538) ==133672== by 0x48952AF: curl_easy_init (easy.c:377) ==133672== by 0x4001081: UnknownInlinedFun (lib515.c:38) ==133672== by 0x4001081: main (first.c:196) ==133672== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133672== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133672== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133672== by 0x4A93FA5: tsearch (tsearch.c:290) ==133672== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133672== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133672== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133672== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133672== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133672== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133672== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133672== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133672== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133672== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133672== by 0x49B1142: setlocale (setlocale.c:337) ==133672== by 0x4001041: main (first.c:135) ==133672== ==133672== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133672== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133672== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133672== by 0x4A93FA5: tsearch (tsearch.c:290) ==133672== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133672== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133672== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133672== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133672== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133672== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133672== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133672== by 0x49B1142: setlocale (setlocale.c:337) ==133672== by 0x4001041: main (first.c:135) ==133672== ==133672== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133672== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133672== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133672== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133672== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133672== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133672== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133672== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133672== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133672== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133672== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133672== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133672== by 0x49B1142: setlocale (setlocale.c:337) ==133672== by 0x4001041: main (first.c:135) ==133672== ==133672== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133672== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133672== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133672== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133672== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133672== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133672== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133672== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133672== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133672== by 0x49B1142: setlocale (setlocale.c:337) ==133672== by 0x4001041: main (first.c:135) ==133672== ==133672== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133672== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133672== by 0x491A603: Curl_open (url.c:517) ==133672== by 0x48952AF: curl_easy_init (easy.c:377) ==133672== by 0x4001081: UnknownInlinedFun (lib515.c:38) ==133672== by 0x4001081: main (first.c:196) ==133672== ==133672== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133672== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133672== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133672== by 0x4A93FA5: tsearch (tsearch.c:290) ==133672== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133672== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133672== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133672== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133672== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133672== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133672== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133672== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133672== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133672== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133672== by 0x49B1142: setlocale (setlocale.c:337) ==133672== by 0x4001041: main (first.c:135) ==133672== ==133672== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133672== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133672== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133672== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133672== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133672== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133672== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133672== by 0x49A6775: __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/14/valgrind522 ./libtest/lib521 http://127.0.0.1/522 35661 > log/14/stdout522 2> log/14/stderr522 =133672== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133672== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133672== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133672== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133672== by 0x49B1142: setlocale (setlocale.c:337) ==133672== by 0x4001041: main (first.c:135) ==133672== === End of file valgrind515 CMD (33792): ../libtool --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/valgrind532 ./libtest/lib532 ftp://127.0.0.1:40643/path/532 > log/7/stdout532 2> log/7/stderr532 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/14/valgrind522 ./libtest/lib521 http://127.0.0.1/522 35661 > log/14/stdout522 2> log/14/stderr522 522: stdout FAILED: --- log/14/check-expected 2025-06-04 20:54:58.096365272 +0000 +++ log/14/check-generated 2025-06-04 20:54:58.096365272 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/14/ dir after test 522 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind522 ./libtest/lib521 http://127.0.0.1/522 35661 > log/14/stdout522 2> log/14/stderr522 === End of file commands.log === Start of file http_server.log 20:54:44.486612 ====> Client connect 20:54:44.486640 accept_connection 3 returned 4 20:54:44.486656 accept_connection 3 returned 0 20:54:44.486668 Read 93 bytes 20:54:44.486677 Process 93 bytes request 20:54:44.486688 Got request: GET /verifiedserver HTTP/1.1 20:54:44.486697 Are-we-friendly question received 20:54:44.486718 Wrote request (93 bytes) input to log/14/server.input 20:54:44.486732 Identifying ourselves as friends 20:54:44.486778 Response sent (57 bytes) and written to log/14/server.response 20:54:44.486787 special request received, no persistency 20:54:44.486795 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==134073== ==134073== Process terminating with default action of signal 4 (SIGILL) ==134073== Illegal opcode at address 0x491A6B3 ==134073== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134073== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134073== by 0x491A6B3: Curl_open (url.c:538) ==134073== by 0x48952AF: curl_easy_init (easy.c:377) ==134073== by 0x4001092: UnknownInlinedFun (lib521.c:38) ==134073== by 0x4001092: main (first.c:196) ==134073== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134073== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134073== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134073== by 0x4A93FA5: tsearch (tsearch.c:290) ==134073== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134073== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134073== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134073== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134073== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134073== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134073== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134073== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134073== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134073== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134073== by 0x49B1142: setlocale (setlocale.c:337) ==134073== by 0x4001041: main (first.c:135) ==134073== ==134073== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134073== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134073== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134073== by 0x4A93FA5: tsearch (tsearch.c:290) ==134073== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134073== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134073== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134073== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134073== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134073== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134073== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134073== by 0x49B1142: setlocale (setlocale.c:337) ==134073== by 0x4001041: main (first.c:135) ==134073== ==134073== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134073== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134073== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134073== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134073== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134073== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134073== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134073== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134073== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134073== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134073== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134073== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134073== by 0x49B1142: setlocale (setlocale.c:337) ==134073== by 0x4001041: main (first.c:135) ==134073== ==134073== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134073== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134073== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134073== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134073== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134073== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134073== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134073== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134073== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134073== by 0x49B1142: setlocale (setlocale.c:337) ==134073== by 0x4001041: main (first.c:135) ==134073== ==134073== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134073== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134073== by 0x491A603: Curl_open (url.c:517) ==134073== by 0x48952AF: curl_easy_init (easy.c:377) ==134073== by 0x4001092: UnknownInlinedFun (lib521.c:38) ==134073== by 0x4001092: main (first.c:196) ==134073== ==134073== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134073== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134073== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134073== by 0x4A93FA5: tsearch (tsearch.c:290) ==134073== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134073== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134073== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134073== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134073== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134073== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134073== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134073== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134073== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134073== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134073== by 0x49B1142: setlocale (setlocale.c:337) ==134073== by 0x4001041: main (first.c:135) ==134073== ==134073== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134073== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134073== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134073== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134073== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134073== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134073== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134073== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134073== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134073== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134073== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134073== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134073== by 0x49B1142: setlocale (setlocale.c:337) ==134073== by 0x4001041: main (first.c:135) ==134073== === End of file valgrind522 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/7/valgrind532 ./libtest/lib532 ftp://127.0.0.1:40643/path/532 > log/7/stdout532 2> log/7/stderr532 532: 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 532 === Start of file commands.log ../libtool --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/valgrind532 ./libtest/lib532 ftp://127.0.0.1:40643/path/532 > log/7/stdout532 2> log/7/stderr532 === End of file commands.log === Start of file ftp_server.log 20:54:57.477035 ====> Client connect 20:54:57.477142 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:57.477314 < "USER anonymous" 20:54:57.477336 > "331 We are happy you popped in![CR][LF]" 20:54:57.477436 < "PASS ftp@example.com" 20:54:57.477451 > "230 Welcome you silly person[CR][LF]" 20:54:57.477538 < "PWD" 20:54:57.477555 > "257 "/" is current directory[CR][LF]" 20:54:57.477644 < "EPSV" 20:54:57.477658 ====> Passive DATA channel requested by client 20:54:57.477666 DATA sockfilt for passive data channel starting... 20:54:57.479035 DATA sockfilt for passive data channel started (pid 134904) 20:54:57.479107 DATA sockfilt for passive data channel listens on port 35049 20:54:57.479133 > "229 Entering Passive Mode (|||35049|)[LF]" 20:54:57.479145 Client has been notified that DATA conn will be accepted on port 35049 20:54:57.479375 Client connects to port 35049 20:54:57.479411 ====> Client established passive DATA connection on port 35049 20:54:57.479477 < "TYPE I" 20:54:57.479501 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:57.479602 < "SIZE verifiedserver" 20:54:57.479625 > "213 18[CR][LF]" 20:54:57.479715 < "RETR verifiedserver" 20:54:57.479735 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:57.479787 =====> Closing passive DATA connection... 20:54:57.479797 Server disconnects passive DATA connection 20:54:57.479875 Server disconnected passive DATA connection 20:54:57.479886 DATA sockfilt for passive data channel quits (pid 134904) 20:54:57.480052 DATA sockfilt for passive data channel quit (pid 134904) 20:54:57.480072 =====> Closed passive DATA connection 20:54:57.480092 > "226 File transfer complete[CR][LF]" 20:54:57.522275 < "QUIT" 20:54:57.522314 > "221 bye bye baby[CR][LF]" 20:54:57.522442 MAIN sockfilt said DISC 20:54:57.522461 ====> Client disconnected 20:54:57.522516 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:57.698447 ====> Client connect 20:54:57.698655 Received DATA (on stdin) 20:54:57.698664 > 160 bytes data, server => client 20:54:57.698672 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:57.698679 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:57.698685 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:57.698728 < 16 bytes data, client => server 20:54:57.698736 'USER anonymous\r\n' 20:54:57.698842 Received DATA (on stdin) 20:54:57.698849 > 33 bytes data, server => client 20:54:57.698856 '331 We are happy you popped in!\r\n' 20:54:57.698887 < 22 bytes data, client => server 20:54:57.698893 'PASS ftp@example.com\r\n' 20:54:57.698955 Received DATA (on stdin) 20:54:57.698962 > 30 bytes data, server => client 20:54:57.698968 '230 Welcome you silly person\r\n' 20:54:57.698996 < 5 bytes data, client => server 20:54:57.699002 'PWD\r\n' 20:54:57.699057 Received DATA (on stdin) 20:54:57.699064 > 30 bytes data, server => client 20:54:57.699071 '257 "/" is current directory\r\n' 20:54:57.699103 < 6 bytes data, client => server 20:54:57.699109 'EPSV\r\n' 20:54:57.700654 Received DATA (on stdin) 20:54:57.700662 > 38 bytes data, server => client 20:54:57.700670 '229 Entering Passive Mode (|||35049|)\n' 20:54:57.700832 < 8 bytes data, client => server 20:54:57.700843 'TYPE I\r\n' 20:54:57.701008 Received DATA (on stdin) 20:54:57.701016 > 33 bytes data, server => client 20:54:57.701023 '200 I modify TYPE as you wanted\r\n' 20:54:57.701055 < 21 bytes data, client => server 20:54:57.701063 'SIZE verifiedserver\r\n' 20:54:57.701129 Received DATA (on stdin) 20:54:57.701137 > 8 bytes data, server => client 20:54:57.701143 '213 18\r\n' 20:54:57.701171 < 21 bytes data, client => server 20:54:57.701179 'RETR verifiedserver\r\n' 20:54:57.701298 Received DATA (on stdin) 20:54:57.701311 > 29 bytes data, server => client 20:54:57.701319 '150 Binary junk (18 bytes).\r\n' 20:54:57.701600 Received DATA (on stdin) 20:54:57.701610 > 28 bytes data, server => client 20:54:57.701617 '226 File transfer complete\r\n' 20:54:57.743681 < 6 bytes data, client => server 20:54:57.743696 'QUIT\r\n' 20:54:57.743827 Received DATA (on stdin) 20:54:57.743840 > 18 bytes data, server => client 20:54:57.743851 '221 bye bye baby\r\n' 20:54:57.743914 ====> Client disconnect 20:54:57.744024 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:57.700429 Running IPv4 version 20:54:57.700464 Listening on port 35049 20:54:57.700488 Wrote pid 134904 to log/7/server/ftp_sockdata.pid 20:54:57.700501 Received PING (on stdin) 20:54:57.700559 Received PORT (on stdin) 20:54:57.700801 ====> Client connect 20:54:57.701304 Received DATA (on stdin) 20:54:57.701314 > 18 bytes data, server => client 20:54:57.701321 'WE ROOLZ: 110634\r\n' 20:54:57.701339 Received DISC (on stdin) 20:54:57.701347 ====> Client forcibly disconnected 20:54:57.701407 Received QUIT (on stdin) 20:54:57.701422 quits 20:54:57.701463 ============> 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:40643/path/532 === End of file stderr532 === Start of file valgrind532 ==134923== ==134923== Process terminating with default action of signal 4 (SIGILL) ==134923== Illegal opcode at address 0x491A6B3 ==134923== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134923== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134923== by 0x491A6B3: Curl_open (url.c:538) ==134923== by 0x48952AF: curl_easy_init (easy.c:377) ==134923== by 0x40012DE: test (lib526.c:73) ==134923== by 0x400106C: main (first.c:196) ==134923== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134923== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134923== by 0x4A93FA5: tsearch (tsearch.c:290) ==134923== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134923== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134923== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134923CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind533 ./libtest/lib533 ftp://127.0.0.1:35865/path/533 ftp://127.0.0.1:35865/path/533 > log/16/stdout533 2> log/16/stderr533 == by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134923== by 0x49B1142: setlocale (setlocale.c:337) ==134923== by 0x4001041: main (first.c:135) ==134923== ==134923== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134923== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134923== by 0x4A93FA5: tsearch (tsearch.c:290) ==134923== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134923== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134923== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134923== by 0x49B1142: setlocale (setlocale.c:337) ==134923== by 0x4001041: main (first.c:135) ==134923== ==134923== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134923== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134923== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134923== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134923== by 0x49B1142: setlocale (setlocale.c:337) ==134923== by 0x4001041: main (first.c:135) ==134923== ==134923== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134923== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134923== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134923== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134923== by 0x49B1142: setlocale (setlocale.c:337) ==134923== by 0x4001041: main (first.c:135) ==134923== ==134923== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134923== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134923== by 0x491A603: Curl_open (url.c:517) ==134923== by 0x48952AF: curl_easy_init (easy.c:377) ==134923== by 0x40012DE: test (lib526.c:73) ==134923== by 0x400106C: main (first.c:196) ==134923== ==134923== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134923== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134923== by 0x4A93FA5: tsearch (tsearch.c:290) ==134923== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134923== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134923== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134923== by 0x49B1142: setlocale (setlocale.c:337) ==134923== by 0x4001041: main (first.c:135) ==134923== ==134923== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134923== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134923== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134923== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134923== by 0x49B1142: setlocale (setlocale.c:337) ==134923== by 0x4001041: main (first.c:135) ==134923== === End of file valgrind532 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/16/valgrind533 ./libtest/lib533 ftp://127.0.0.1:35865/path/533 ftp://127.0.0.1:35865/path/533 > log/16/stdout533 2> log/16/stderr533 533: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind533 ./libtest/lib533 ftp://127.0.0.1:35865/path/533 ftp://127.0.0.1:35865/path/533 > log/16/stdout533 2> log/16/stderr533 === End of file commands.log === Start of file ftp_server.log 20:54:57.500894 ====> Client connect 20:54:57.500988 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:57.501156 < "USER anonymous" 20:54:57.501178 > "331 We are happy you popped in![CR][LF]" 20:54:57.501278 < "PASS ftp@example.com" 20:54:57.501294 > "230 Welcome you silly person[CR][LF]" 20:54:57.501382 < "PWD" 20:54:57.501398 > "257 "/" is current directory[CR][LF]" 20:54:57.501491 < "EPSV" 20:54:57.501506 ====> Passive DATA channel requested by client 20:54:57.501514 DATA sockfilt for passive data channel starting... 20:54:57.502726 DATA sockfilt for passive data channel started (pid 134921) 20:54:57.502810 DATA sockfilt for passive data channel listens on port 40343 20:54:57.502835 > "229 Entering Passive Mode (|||40343|)[LF]" 20:54:57.502848 Client has been notified that DATA conn will be accepted on port 40343 20:54:57.503113 Client connects to port 40343 20:54:57.503129 ====> Client established passive DATA connection on port 40343 20:54:57.503168 < "TYPE I" 20:54:57.503185 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:57.503282 < "SIZE verifiedserver" 20:54:57.503303 > "213 18[CR][LF]" 20:54:57.503395 < "RETR verifiedserver" 20:54:57.503418 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:57.503464 =====> Closing passive DATA connection... 20:54:57.503474 Server disconnects passive DATA connection 20:54:57.503518 Server disconnected passive DATA connection 20:54:57.503529 DATA sockfilt for passive data channel quits (pid 134921) 20:54:57.503683 DATA sockfilt for passive data channel quit (pid 134921) 20:54:57.503703 =====> Closed passive DATA connection 20:54:57.503721 > "226 File transfer complete[CR][LF]" 20:54:57.548963 < "QUIT" 20:54:57.549003 > "221 bye bye baby[CR][LF]" 20:54:57.549477 MAIN sockfilt said DISC 20:54:57.549503 ====> Client disconnected 20:54:57.549558 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:57.722322 ====> Client connect 20:54:57.722499 Received DATA (on stdin) 20:54:57.722508 > 160 bytes data, server => client 20:54:57.722516 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:57.722523 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:57.722529 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:57.722572 < 16 bytes data, client => server 20:54:57.722579 'USER anonymous\r\n' 20:54:57.722684 Received DATA (on stdin) 20:54:57.722692 > 33 bytes data, server => client 20:54:57.722699 '331 We are happy you popped in!\r\n' 20:54:57.722730 < 22 bytes data, client => server 20:54:57.722737 'PASS ftp@example.com\r\n' 20:54:57.722797 Received DATA (on stdin) 20:54:57.722805 > 30 bytes data, server => client 20:54:57.722811 '230 Welcome you silly person\r\n' 20:54:57.722839 < 5 bytes data, client => server 20:54:57.722846 'PWD\r\n' 20:54:57.722901 Received DATA (on stdin) 20:54:57.722908 > 30 bytes data, server => client 20:54:57.722915 '257 "/" is current directory\r\n' 20:54:57.722948 < 6 bytes data, client => server 20:54:57.722955 'EPSV\r\n' 20:54:57.724376 Received DATA (on stdin) 20:54:57.724386 > 38 bytes data, server => client 20:54:57.724393 '229 Entering Passive Mode (|||40343|)\n' 20:54:57.724600 < 8 bytes data, client => server 20:54:57.724612 'TYPE I\r\n' 20:54:57.724689 Received DATA (on stdin) 20:54:57.724697 > 33 bytes data, server => client 20:54:57.724704 '200 I modify TYPE as you wanted\r\n' 20:54:57.724737 < 21 bytes data, client => server 20:54:57.724744 'SIZE verifiedserver\r\n' 20:54:57.724799 Received DATA (on stdin) 20:54:57.724807 > 8 bytes data, server => client 20:54:57.724813 '213 18\r\n' 20:54:57.724843 < 21 bytes data, client => server 20:54:57.724850 'RETR verifiedserver\r\n' 20:54:57.724967 Received DATA (on stdin) 20:54:57.724975 > 29 bytes data, server => client 20:54:57.724982 '150 Binary junk (18 bytes).\r\n' 20:54:57.725225 Received DATA (on stdin) 20:54:57.725234 > 28 bytes data, server => client 20:54:57.725241 '226 File transfer complete\r\n' 20:54:57.770348 < 6 bytes data, client => server 20:54:57.770369 'QUIT\r\n' 20:54:57.770511 Received DATA (on stdin) 20:54:57.770520 > 18 bytes data, server => client 20:54:57.770526 '221 bye bye baby\r\n' 20:54:57.770945 ====> Client disconnect 20:54:57.771062 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:57.724036 Running IPv4 version 20:54:57.724068 Listening on port 40343 20:54:57.724089 Wrote pid 134921 to log/16/server/ftp_sockdata.pid 20:54:57.724185 Received PING (on stdin) 20:54:57.724260 Received PORT (on stdin) 20:54:57.724589 ====> Client connect 20:54:57.724929 Received DATA (on stdin) 20:54:57.724937 > 18 bytes data, server => client 20:54:57.724944 'WE ROOLZ: 110697\r\n' 20:54:57.724980 Received DISC (on stdin) 20:54:57.724989 ====> Client forcibly disconnected 20:54:57.725039 Received QUIT (on stdin) 20:54:57.725047 quits 20:54:57.725093 ============> 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:35865/path/533 === End of file stderr533 === Start of file valgrind533 ==134968== ==134968== Process terminating with default action of signal 4 (SIGILL) ==134968== Illegal opcode at address 0x491A6B3 ==134968== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134968== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134968== by 0x491A6B3: Curl_open (url.c:538) ==134968== by 0x48952AF: curl_easy_init (easy.c:377) ==134968== by 0x40012F1: test.part.0 (lib533.c:48) ==134968== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==134968== by 0x40010A5: main (first.c:196) ==134968== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134968== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134968== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134968== by 0x4A93FA5: tsearch (tsearch.c:290) ==134968== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134968== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134968== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134968== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134968== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134968== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134968== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134968== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134968== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134968== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134968== by 0x49B1142: setlocale (setlocale.c:337) ==134968== by 0x4001041: main (first.c:135) ==134968== ==134968== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134968== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134968== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134968== by 0x4A93FA5: tsearch (tsearch.c:290) ==134968== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134968== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134968== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134968== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134968== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134968== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134968== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134968== by 0x49B1142: setlocale (setlocale.c:337) ==134968== by 0x4001041: main (first.c:135) ==134968== ==134968== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134968== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134968== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134968== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134968== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134968== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134968== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134968== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134968== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134968== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134968== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134968== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134968== by 0x49B1142: setlocale (setlocale.c:337) ==134968== by 0x4001041: main (first.c:135) ==134968== ==134968== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134968== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134968== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134968== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134968== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134968== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134968== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134968== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134968== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134968== by 0x49B1142: setlocale (setlocale.c:337) ==134968== by 0x4001041: main (first.c:135) ==134968== ==134968== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134968== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134968== by 0x491A603: Curl_open (url.c:517) ==134968== by 0x48952AF: curl_easy_init (easy.c:377) ==134968== by 0x40012F1: test.part.0 (lib533.c:48) ==134968== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==134968== by 0x40010A5: main (first.c:196) ==134968== ==134968== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134968== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134968== 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/4/valgrind505 ./libtest/lib505 ftp://127.0.0.1:45117/505 log/4/upload505 > log/4/stdout505 2> log/4/stderr505 0x4A93FA5: __tsearch (tsearch.c:337) ==134968== by 0x4A93FA5: tsearch (tsearch.c:290) ==134968== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134968== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134968== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134968== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134968== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134968== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134968== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134968== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134968== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134968== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134968== by 0x49B1142: setlocale (setlocale.c:337) ==134968== by 0x4001041: main (first.c:135) ==134968== ==134968== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134968== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134968== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134968== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134968== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134968== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134968== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134968== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134968== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134968== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134968== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134968== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134968== by 0x49B1142: setlocale (setlocale.c:337) ==134968== by 0x4001041: main (first.c:135) ==134968== === End of file valgrind533 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/4/valgrind505 ./libtest/lib505 ftp://127.0.0.1:45117/505 log/4/upload505 > log/4/stdout505 2> log/4/stderr505 505: 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 505 === Start of file commands.log ../libtool --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/valgrind505 ./libtest/lib505 ftp://127.0.0.1:45117/505 log/4/upload505 > log/4/stdout505 2> log/4/stderr505 === End of file commands.log === Start of file ftp_server.log 20:54:43.714793 ====> Client connect 20:54:43.714939 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:43.715184 < "USER anonymous" 20:54:43.715215 > "331 We are happy you popped in![CR][LF]" 20:54:43.715377 < "PASS ftp@example.com" 20:54:43.715403 > "230 Welcome you silly person[CR][LF]" 20:54:43.715535 < "PWD" 20:54:43.715560 > "257 "/" is current directory[CR][LF]" 20:54:43.715694 < "EPSV" 20:54:43.715717 ====> Passive DATA channel requested by client 20:54:43.715729 DATA sockfilt for passive data channel starting... 20:54:43.717603 DATA sockfilt for passive data channel started (pid 133001) 20:54:43.717725 DATA sockfilt for passive data channel listens on port 33689 20:54:43.717766 > "229 Entering Passive Mode (|||33689|)[LF]" 20:54:43.717783 Client has been notified that DATA conn will be accepted on port 33689 20:54:43.718040 Client connects to port 33689 20:54:43.718066 ====> Client established passive DATA connection on port 33689 20:54:43.718138 < "TYPE I" 20:54:43.718166 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:43.718743 < "SIZE verifiedserver" 20:54:43.718787 > "213 18[CR][LF]" 20:54:43.718958 < "RETR verifiedserver" 20:54:43.718991 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:43.719070 =====> Closing passive DATA connection... 20:54:43.719086 Server disconnects passive DATA connection 20:54:43.719303 Server disconnected passive DATA connection 20:54:43.719328 DATA sockfilt for passive data channel quits (pid 133001) 20:54:43.719551 DATA sockfilt for passive data channel quit (pid 133001) 20:54:43.719575 =====> Closed passive DATA connection 20:54:43.719602 > "226 File transfer complete[CR][LF]" 20:54:43.765657 < "QUIT" 20:54:43.765710 > "221 bye bye baby[CR][LF]" 20:54:43.767312 MAIN sockfilt said DISC 20:54:43.767348 ====> Client disconnected 20:54:43.767417 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:43.936205 ====> Client connect 20:54:43.936459 Received DATA (on stdin) 20:54:43.936472 > 160 bytes data, server => client 20:54:43.936484 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:43.936494 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:43.936504 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:43.936569 < 16 bytes data, client => server 20:54:43.936580 'USER anonymous\r\n' 20:54:43.936728 Received DATA (on stdin) 20:54:43.936740 > 33 bytes data, server => client 20:54:43.936750 '331 We are happy you popped in!\r\n' 20:54:43.936793 < 22 bytes data, client => server 20:54:43.936804 'PASS ftp@example.com\r\n' 20:54:43.936913 Received DATA (on stdin) 20:54:43.936924 > 30 bytes data, server => client 20:54:43.936935 '230 Welcome you silly person\r\n' 20:54:43.936977 < 5 bytes data, client => server 20:54:43.936987 'PWD\r\n' 20:54:43.937070 Received DATA (on stdin) 20:54:43.937080 > 30 bytes data, server => client 20:54:43.937091 '257 "/" is current directory\r\n' 20:54:43.937138 < 6 bytes data, client => server 20:54:43.937147 'EPSV\r\n' 20:54:43.939306 Received DATA (on stdin) 20:54:43.939322 > 38 bytes data, server => client 20:54:43.939333 '229 Entering Passive Mode (|||33689|)\n' 20:54:43.939504 < 8 bytes data, client => server 20:54:43.939514 'TYPE I\r\n' 20:54:43.939679 Received DATA (on stdin) 20:54:43.939691 > 33 bytes data, server => client 20:54:43.939701 '200 I modify TYPE as you wanted\r\n' 20:54:43.939746 < 21 bytes data, client => server 20:54:43.939757 'SIZE verifiedserver\r\n' 20:54:43.940305 Received DATA (on stdin) 20:54:43.940320 > 8 bytes data, server => client 20:54:43.940330 '213 18\r\n' 20:54:43.940389 < 21 bytes data, client => server 20:54:43.940400 'RETR verifiedserver\r\n' 20:54:43.940603 Received DATA (on stdin) 20:54:43.940615 > 29 bytes data, server => client 20:54:43.940625 '150 Binary junk (18 bytes).\r\n' 20:54:43.941116 Received DATA (on stdin) 20:54:43.941129 > 28 bytes data, server => client 20:54:43.941139 '226 File transfer complete\r\n' 20:54:43.986962 < 6 bytes data, client => server 20:54:43.986992 'QUIT\r\n' 20:54:43.987226 Received DATA (on stdin) 20:54:43.987237 > 18 bytes data, server => client 20:54:43.987247 '221 bye bye baby\r\n' 20:54:43.988182 ====> Client disconnect 20:54:43.988932 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:43.938931 Running IPv4 version 20:54:43.938997 Listening on port 33689 20:54:43.939031 Wrote pid 133001 to log/4/server/ftp_sockdata.pid 20:54:43.939051 Received PING (on stdin) 20:54:43.939153 Received PORT (on stdin) 20:54:43.939480 ====> Client connect 20:54:43.940692 Received DATA (on stdin) 20:54:43.940711 > 18 bytes data, server => client 20:54:43.940722 'WE ROOLZ: 110707\r\n' 20:54:43.940749 Received DISC (on stdin) 20:54:43.940764 ====> Client forcibly disconnected 20:54:43.940857 Received QUIT (on stdin) 20:54:43.940868 quits 20:54:43.940921 ============> 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:45117/505 === End of file stderr505 === Start of file upload505 Contents of a file to verify ftp uploaCMD (33792): ../libtool --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/valgrind535 ./libtest/lib533 http://127.0.0.1:44265/535 http://127.0.0.1:44265/5350001 > log/11/stdout535 2> log/11/stderr535 d works? === End of file upload505 === Start of file valgrind505 ==133239== ==133239== Process terminating with default action of signal 4 (SIGILL) ==133239== Illegal opcode at address 0x491A6B3 ==133239== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133239== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133239== by 0x491A6B3: Curl_open (url.c:538) ==133239== by 0x48952AF: curl_easy_init (easy.c:377) ==133239== by 0x4001104: UnknownInlinedFun (lib505.c:93) ==133239== by 0x4001104: main (first.c:196) ==133239== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==133239== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133239== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133239== by 0x4A93FA5: tsearch (tsearch.c:290) ==133239== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133239== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133239== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133239== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133239== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133239== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133239== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133239== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133239== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133239== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133239== by 0x49B1142: setlocale (setlocale.c:337) ==133239== by 0x400105B: main (first.c:135) ==133239== ==133239== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==133239== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133239== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133239== by 0x4A93FA5: tsearch (tsearch.c:290) ==133239== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133239== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133239== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133239== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133239== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133239== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133239== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133239== by 0x49B1142: setlocale (setlocale.c:337) ==133239== by 0x400105B: main (first.c:135) ==133239== ==133239== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==133239== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133239== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133239== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133239== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133239== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133239== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133239== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133239== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133239== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133239== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133239== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133239== by 0x49B1142: setlocale (setlocale.c:337) ==133239== by 0x400105B: main (first.c:135) ==133239== ==133239== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==133239== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133239== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133239== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133239== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133239== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133239== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133239== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133239== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133239== by 0x49B1142: setlocale (setlocale.c:337) ==133239== by 0x400105B: main (first.c:135) ==133239== ==133239== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==133239== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133239== by 0x491A603: Curl_open (url.c:517) ==133239== by 0x48952AF: curl_easy_init (easy.c:377) ==133239== by 0x4001104: UnknownInlinedFun (lib505.c:93) ==133239== by 0x4001104: main (first.c:196) ==133239== ==133239== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==133239== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133239== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133239== by 0x4A93FA5: tsearch (tsearch.c:290) ==133239== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133239== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133239== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133239== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133239== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133239== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133239== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133239== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133239== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133239== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133239== by 0x49B1142: setlocale (setlocale.c:337) ==133239== by 0x400105B: main (first.c:135) ==133239== ==133239== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==133239== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133239== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133239== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133239== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133239== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133239== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133239== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133239== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133239== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133239== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133239== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133239== by 0x49B1142: setlocale (setlocale.c:337) ==133239== by 0x400105B: main (first.c:135) ==133239== === End of file valgrind505 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/11/valgrind535 ./libtest/lib533 http://127.0.0.1:44265/535 http://127.0.0.1:44265/5350001 > log/11/stdout535 2> log/11/stderr535 535: 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 535 === Start of file commands.log ../libtool --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/valgrind535 ./libtest/lib533 http://127.0.0.1:44265/535 http://127.0.0.1:44265/5350001 > log/11/stdout535 2> log/11/stderr535 === End of file commands.log === Start of file http_server.log 20:54:57.911177 ====> Client connect 20:54:57.911199 accept_connection 3 returned 4 20:54:57.911211 accept_connection 3 returned 0 20:54:57.911220 Read 93 bytes 20:54:57.911227 Process 93 bytes request 20:54:57.911236 Got request: GET /verifiedserver HTTP/1.1 20:54:57.911242 Are-we-friendly question received 20:54:57.911259 Wrote request (93 bytes) input to log/11/server.input 20:54:57.911269 Identifying ourselves as friends 20:54:57.911308 Response sent (57 bytes) and written to log/11/server.response 20:54:57.911314 special request received, no persistency 20:54:57.911320 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265..CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:46525/path/534 > log/24/stdout534 2> log/24/stderr534 . * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:44265/535 === End of file stderr535 === Start of file valgrind535 ==135050== ==135050== Process terminating with default action of signal 4 (SIGILL) ==135050== Illegal opcode at address 0x491A6B3 ==135050== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135050== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135050== by 0x491A6B3: Curl_open (url.c:538) ==135050== by 0x48952AF: curl_easy_init (easy.c:377) ==135050== by 0x40012F1: test.part.0 (lib533.c:48) ==135050== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==135050== by 0x40010A5: main (first.c:196) ==135050== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135050== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135050== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135050== by 0x4A93FA5: tsearch (tsearch.c:290) ==135050== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135050== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135050== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135050== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135050== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135050== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135050== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135050== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135050== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135050== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135050== by 0x49B1142: setlocale (setlocale.c:337) ==135050== by 0x4001041: main (first.c:135) ==135050== ==135050== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135050== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135050== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135050== by 0x4A93FA5: tsearch (tsearch.c:290) ==135050== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135050== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135050== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135050== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135050== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135050== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135050== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135050== by 0x49B1142: setlocale (setlocale.c:337) ==135050== by 0x4001041: main (first.c:135) ==135050== ==135050== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135050== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135050== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135050== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135050== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135050== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135050== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135050== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135050== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135050== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135050== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135050== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135050== by 0x49B1142: setlocale (setlocale.c:337) ==135050== by 0x4001041: main (first.c:135) ==135050== ==135050== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135050== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135050== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135050== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135050== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135050== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135050== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135050== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135050== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135050== by 0x49B1142: setlocale (setlocale.c:337) ==135050== by 0x4001041: main (first.c:135) ==135050== ==135050== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135050== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135050== by 0x491A603: Curl_open (url.c:517) ==135050== by 0x48952AF: curl_easy_init (easy.c:377) ==135050== by 0x40012F1: test.part.0 (lib533.c:48) ==135050== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==135050== by 0x40010A5: main (first.c:196) ==135050== ==135050== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135050== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135050== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135050== by 0x4A93FA5: tsearch (tsearch.c:290) ==135050== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135050== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135050== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135050== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135050== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135050== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135050== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135050== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135050== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135050== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135050== by 0x49B1142: setlocale (setlocale.c:337) ==135050== by 0x4001041: main (first.c:135) ==135050== ==135050== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135050== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135050== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135050== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135050== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135050== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135050== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135050== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135050== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135050== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135050== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135050== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135050== by 0x49B1142: setlocale (setlocale.c:337) ==135050== by 0x4001041: main (first.c:135) ==135050== === End of file valgrind535 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/24/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:46525/path/534 > log/24/stdout534 2> log/24/stderr534 534: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:46525/path/534 > log/24/stdout534 2> log/24/stderr534 === End of file commands.log === Start of file ftp_server.log 20:54:57.674808 ====> Client connect 20:54:57.674926 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:57.675125 < "USER anonymous" 20:54:57.675147 > "331 We are happy you popped in![CR][LF]" 20:54:57.675350 < "PASS ftp@example.com" 20:54:57.675396 > "230 Welcome you silly person[CR][LF]" 20:54:57.675506 < "PWD" 20:54:57.675524 > "257 "/" is current directory[CR][LF]" 20:54:57.675639 < "EPSV" 20:54:57.675657 ====> Passive DATA channel requested by client 20:54:57.675665 DATA sockfilt for passive data channel starting... 20:54:57.676893 DATA sockfilt for passive data channel started (pid 135033) 20:54:57.676963 DATA sockfilt for passive data channel listens on port 39019 20:54:57.676987 > "229 Entering Passive Mode (|||39019|)[LF]" 20:54:57.676999 Client has been notified that DATA conn will be accepted on port 39019 20:54:57.677122 Client connects to port 39019 20:54:57.677141 ====> Client established passive DATA connection on port 39019 20:54:57.677207 < "TYPE I" 20:54:57.677224 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:57.677339 < "SIZE verifiedserver" 20:54:57.677360 > "213 18[CR][LF]" 20:54:57.677447 < "RETR verifiedserver" 20:54:57.677469 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:57.677517 =====> Closing passive DATA connection... 20:54:57.677527 Server disconnects passive DATA connection 20:54:57.677660 Server disconnected passive DATA connection 20:54:57.677676 DATA sockfilt for passive data channel quits (pid 135033) 20:54:57.677798 DATA sockfilt for passive data channel quit (pid 135033) 20:54:57.677811 =====> Closed passive DATA connection 20:54:57.677827 > "226 File transfer complete[CR][LF]" 20:54:57.718976 < "QUIT" 20:54:57.719023 > "221 bye bye baby[CR][LF]" 20:54:57.719303 MAIN sockfilt said DISC 20:54:57.719320 ====> Client disconnected 20:54:57.719366 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:56.896244 ====> Client connect 20:54:56.896422 Received DATA (on stdin) 20:54:56.896454 > 160 bytes data, server => client 20:54:56.896463 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:56.896470 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:56.896477 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:56.896550 < 16 bytes data, client => server 20:54:56.896562 'USER anonymous\r\n' 20:54:56.896653 Received DATA (on stdin) 20:54:56.896662 > 33 bytes data, server => client 20:54:56.896670 '331 We are happy you popped in!\r\n' 20:54:56.896743 < 22 bytes data, client => server 20:54:56.896755 'PASS ftp@example.com\r\n' 20:54:56.896905 Received DATA (on stdin) 20:54:56.896914 > 30 bytes data, server => client 20:54:56.896921 '230 Welcome you silly person\r\n' 20:54:56.896956 < 5 bytes data, client => server 20:54:56.896963 'PWD\r\n' 20:54:56.897028 Received DATA (on stdin) 20:54:56.897035 > 30 bytes data, server => client 20:54:56.897041 '257 "/" is current directory\r\n' 20:54:56.897080 < 6 bytes data, client => server 20:54:56.897089 'EPSV\r\n' 20:54:56.898507 Received DATA (on stdin) 20:54:56.898516 > 38 bytes data, server => client 20:54:56.898523 '229 Entering Passive Mode (|||39019|)\n' 20:54:56.898654 < 8 bytes data, client => server 20:54:56.898662 'TYPE I\r\n' 20:54:56.898730 Received DATA (on stdin) 20:54:56.898752 > 33 bytes data, server => client 20:54:56.898759 '200 I modify TYPE as you wanted\r\n' 20:54:56.898793 < 21 bytes data, client => server 20:54:56.898800 'SIZE verifiedserver\r\n' 20:54:56.898864 Received DATA (on stdin) 20:54:56.898871 > 8 bytes data, server => client 20:54:56.898877 '213 18\r\n' 20:54:56.898905 < 21 bytes data, client => server 20:54:56.898912 'RETR verifiedserver\r\n' 20:54:56.899032 Received DATA (on stdin) 20:54:56.899039 > 29 bytes data, server => client 20:54:56.899046 '150 Binary junk (18 bytes).\r\n' 20:54:56.899332 Received DATA (on stdin) 20:54:56.899340 > 28 bytes data, server => client 20:54:56.899347 '226 File transfer complete\r\n' 20:54:56.940306 < 6 bytes data, client => server 20:54:56.940331 'QUIT\r\n' 20:54:56.940518 Received DATA (on stdin) 20:54:56.940530 > 18 bytes data, server => client 20:54:56.940542 '221 bye bye baby\r\n' 20:54:56.940775 ====> Client disconnect 20:54:56.940869 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:57.898212 Running IPv4 version 20:54:57.898248 Listening on port 39019 20:54:57.898273 Wrote pid 135033 to log/24/server/ftp_sockdata.pid 20:54:57.898363 Received PING (on stdin) 20:54:57.898415 Received PORT (on stdin) 20:54:57.898596 ====> Client connect 20:54:57.899061 Received DATA (on stdin) 20:54:57.899069 > 18 bytes data, server => client 20:54:57.899076 'WE ROOLZ: 119268\r\n' 20:54:57.899089 Received DISC (on stdin) 20:54:57.899096 ====> Client forcibly disconnected 20:54:57.899184 Received QUIT (on stdin) 20:54:57.899192 quits 20:54:57.899224 ============> 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 ==135095== ==135095== Process terminating with default action of signal 4 (SIGILL) ==135095== Illegal opcode at address 0x491A6B3 ==135095== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135095== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135095== by 0x491A6B3: Curl_open (url.c:538) ==135095== by 0x48952AF: curl_easy_init (easy.c:377) ==135095== by 0x40012F1: test.part.0 (lib533.c:48) ==135095== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==135095== by 0x40010A5: main (first.c:196) ==135095== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135095== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135095== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135095== by 0x4A93FA5: tsearch (tsearch.c:290) ==135095== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135095== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135095== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135095== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135095== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135095== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135095== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135095== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135095== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135095== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135095== by 0x49B1142: setlocale (setlocale.c:337) ==135095== by 0x4001041: main (first.c:135) ==135095== ==135095== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135095== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135095== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135095== by 0x4A93FA5: tsearch (tsearch.c:290) ==135095== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135095== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135095== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135095== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135095== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135095== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135095== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135095== by 0x49B1142: setlocale (setlocale.c:337) ==135095== by 0x4001041: main (first.c:135) ==135095== ==135095== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135095== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135095== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:35207 > log/17/stdout523 2> log/17/stderr523 by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135095== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135095== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135095== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135095== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135095== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135095== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135095== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135095== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135095== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135095== by 0x49B1142: setlocale (setlocale.c:337) ==135095== by 0x4001041: main (first.c:135) ==135095== ==135095== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135095== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135095== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135095== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135095== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135095== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135095== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135095== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135095== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135095== by 0x49B1142: setlocale (setlocale.c:337) ==135095== by 0x4001041: main (first.c:135) ==135095== ==135095== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135095== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135095== by 0x491A603: Curl_open (url.c:517) ==135095== by 0x48952AF: curl_easy_init (easy.c:377) ==135095== by 0x40012F1: test.part.0 (lib533.c:48) ==135095== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==135095== by 0x40010A5: main (first.c:196) ==135095== ==135095== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135095== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135095== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135095== by 0x4A93FA5: tsearch (tsearch.c:290) ==135095== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135095== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135095== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135095== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135095== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135095== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135095== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135095== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135095== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135095== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135095== by 0x49B1142: setlocale (setlocale.c:337) ==135095== by 0x4001041: main (first.c:135) ==135095== ==135095== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135095== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135095== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135095== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135095== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135095== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135095== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135095== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135095== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135095== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135095== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135095== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135095== by 0x49B1142: setlocale (setlocale.c:337) ==135095== by 0x4001041: main (first.c:135) ==135095== === End of file valgrind534 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/17/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:35207 > log/17/stdout523 2> log/17/stderr523 523: stdout FAILED: --- log/17/check-expected 2025-06-04 20:54:58.579698617 +0000 +++ log/17/check-generated 2025-06-04 20:54:58.579698617 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/17/ dir after test 523 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:35207 > log/17/stdout523 2> log/17/stderr523 === End of file commands.log === Start of file http_server.log 20:54:44.484673 ====> Client connect 20:54:44.484703 accept_connection 3 returned 4 20:54:44.484720 accept_connection 3 returned 0 20:54:44.484733 Read 93 bytes 20:54:44.484743 Process 93 bytes request 20:54:44.484755 Got request: GET /verifiedserver HTTP/1.1 20:54:44.484764 Are-we-friendly question received 20:54:44.484788 Wrote request (93 bytes) input to log/17/server.input 20:54:44.484803 Identifying ourselves as friends 20:54:44.484852 Response sent (57 bytes) and written to log/17/server.response 20:54:44.484862 special request received, no persistency 20:54:44.484871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==134066== ==134066== Process terminating with default action of signal 4 (SIGILL) ==134066== Illegal opcode at address 0x491A6B3 ==134066== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134066== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134066== by 0x491A6B3: Curl_open (url.c:538) ==134066== by 0x48952AF: curl_easy_init (easy.c:377) ==134066== by 0x4001098: UnknownInlinedFun (lib523.c:38) ==134066== by 0x4001098: main (first.c:196) ==134066== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134066== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134066== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134066== by 0x4A93FA5: tsearch (tsearch.c:290) ==134066== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134066== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134066== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134066== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134066== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134066== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134066== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134066== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134066== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134066== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134066== by 0x49B1142: setlocale (setlocale.c:337) ==134066== by 0x4001047: main (first.c:135) ==134066== ==134066== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134066== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134066== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134066== by 0x4A93FA5: tsearch (tsearch.c:290) ==134066== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134066== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134066== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134066== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134066== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134066== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134066== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134066== by 0x49B1142: setlocale (setlocale.c:337) ==134066== by 0x4001047: main (first.c:135) ==134066== ==134066== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134066== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134066== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134066== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134066== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134066== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134066== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134066== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134066== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134066== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134066== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134066== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134066== by 0x49B1142: setlocale (setlocale.c:337) ==134066== by 0x4001047: main (first.c:135) ==134066== ==134066== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134066== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134066== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134066== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134066== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134066== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134066== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134066== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134066== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134066== by 0x49B1142: setlocale (setlocale.c:337) ==134066== by 0x4001047: main (first.c:135) ==134066== ==134066== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134066== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134066== by 0x491A603: Curl_open (url.c:517) ==134066== by 0x48952AF: curl_easy_init (easy.c:377) ==134066== by 0x4001098: UnknownInlinedFun (lib523.c:38) ==134066== by 0x4001098: main (first.c:196) ==134066== ==134066== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134066== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134066== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134066== by 0x4A93FA5: tsearch (tsearch.c:290) ==134066== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134066== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134066== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134066== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134066== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134066== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134066== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134066== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134066== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134066== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134066== by 0x49B1142: setlocale (setlocale.c:337) ==134066== by 0x4001047: main (first.c:135) ==134066== ==134066== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134066== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134066== by 0x49A60A9: add_alias2.part.0 (gconv_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/14/valgrind536 ./libtest/lib536 http://127.0.0.1:35661 goingdirect.com:35661 goingdirect.com:35661:127.0.0.1 > log/14/stdout536 2> log/14/stderr536 c:132) ==134066== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134066== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134066== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134066== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134066== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134066== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134066== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134066== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134066== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134066== by 0x49B1142: setlocale (setlocale.c:337) ==134066== by 0x4001047: main (first.c:135) ==134066== === End of file valgrind523 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind538 ./libtest/lib504 ftp://127.0.0.1:35865/538 > log/16/stdout538 2> log/16/stderr538 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/14/valgrind536 ./libtest/lib536 http://127.0.0.1:35661 goingdirect.com:35661 goingdirect.com:35661:127.0.0.1 > log/14/stdout536 2> log/14/stderr536 536: stdout FAILED: --- log/14/check-expected 2025-06-04 20:54:58.789698621 +0000 +++ log/14/check-generated 2025-06-04 20:54:58.789698621 +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/14/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind536 ./libtest/lib536 http://127.0.0.1:35661 goingdirect.com:35661 goingdirect.com:35661:127.0.0.1 > log/14/stdout536 2> log/14/stderr536 === End of file commands.log === Start of file http_server.log 20:54:58.342644 ====> Client connect 20:54:58.342741 accept_connection 3 returned 4 20:54:58.342773 accept_connection 3 returned 0 20:54:58.342788 Read 93 bytes 20:54:58.342799 Process 93 bytes request 20:54:58.342812 Got request: GET /verifiedserver HTTP/1.1 20:54:58.342821 Are-we-friendly question received 20:54:58.342853 Wrote request (93 bytes) input to log/14/server.input 20:54:58.342870 Identifying ourselves as friends 20:54:58.342930 Response sent (57 bytes) and written to log/14/server.response 20:54:58.342940 special request received, no persistency 20:54:58.342949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:35661 === End of file stderr536 === Start of file valgrind536 ==135189== ==135189== Process terminating with default action of signal 4 (SIGILL) ==135189== Illegal opcode at address 0x491A6B3 ==135189== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135189== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135189== by 0x491A6B3: Curl_open (url.c:538) ==135189== by 0x48952AF: curl_easy_init (easy.c:377) ==135189== by 0x40010A9: UnknownInlinedFun (lib536.c:51) ==135189== by 0x40010A9: main (first.c:196) ==135189== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135189== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135189== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135189== by 0x4A93FA5: tsearch (tsearch.c:290) ==135189== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135189== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135189== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135189== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135189== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135189== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135189== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135189== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135189== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135189== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135189== by 0x49B1142: setlocale (setlocale.c:337) ==135189== by 0x4001045: main (first.c:135) ==135189== ==135189== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135189== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135189== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135189== by 0x4A93FA5: tsearch (tsearch.c:290) ==135189== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135189== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135189== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135189== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135189== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135189== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135189== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135189== by 0x49B1142: setlocale (setlocale.c:337) ==135189== by 0x4001045: main (first.c:135) ==135189== ==135189== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135189== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135189== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135189== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135189== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135189== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135189== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135189== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135189== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135189== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135189== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135189== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135189== by 0x49B1142: setlocale (setlocale.c:337) ==135189== by 0x4001045: main (first.c:135) ==135189== ==135189== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135189== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135189== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135189== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135189== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135189== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135189== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135189== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135189== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135189== by 0x49B1142: setlocale (setlocale.c:337) ==135189== by 0x4001045: main (first.c:135) ==135189== ==135189== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135189== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135189== by 0x491A603: Curl_open (url.c:517) ==135189== by 0x48952AF: curl_easy_init (easy.c:377) ==135189== by 0x40010A9: UnknownInlinedFun (lib536.c:51) ==135189== by 0x40010A9: main (first.c:196) ==135189== ==135189== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135189== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135189== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135189== by 0x4A93FA5: tsearch (tsearch.c:290) ==135189== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135189== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135189== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135189== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135189== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135189== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135189== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135189== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135189== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135189== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135189== by 0x49B1142: setlocale (setlocale.c:337) ==135189== by 0x4001045: main (first.c:135) ==135189== ==135189== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135189== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135189== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135189== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135189== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135189== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135189== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135189== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135189== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135189== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135189== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135189== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135189== by 0x49B1142: setlocale (setlocale.c:337) ==135189== by 0x4001045: main (first.c:135) ==135189== === End of file valgrind536 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/16/valgrind538 ./libtest/lib504 ftp://127.0.0.1:35865/538 > log/16/stdout538 2> log/16/stderr538 538: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 538 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind538 ./libtest/lib504 ftp://127.0.0.1:35865/538 > log/16/stdout538 2> log/16/stderr538 === End of file commands.log === Start of file ftp_server.log 20:54:58.154573 ====> Client connect 20:54:58.154693 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:58.154885 < "USER anonymous" 20:54:58.154908 > "331 We are happy you popped in![CR][LF]" 20:54:58.155032 < "PASS ftp@example.com" 20:54:58.155049 > "230 Welcome you silly person[CR][LF]" 20:54:58.155143 < "PWD" 20:54:58.155161 > "257 "/" is current directory[CR][LF]" 20:54:58.155266 < "EPSV" 20:54:58.155281 ====> Passive DATA channel requested by client 20:54:58.155289 DATA sockfilt for passive data channel starting... 20:54:58.156366 DATA sockfilt for passive data channel started (pid 135262) 20:54:58.156439 DATA sockfilt for passive data channel listens on port 37425 20:54:58.156464 > "229 Entering Passive Mode (|||37425|)[LF]" 20:54:58.156477 Client has been notified that DATA conn will be accepted on port 37425 20:54:58.156667 Client connects to port 37425 20:54:58.156686 ====> Client established passive DATA connection on port 37425 20:54:58.156725 < "TYPE I" 20:54:58.156744 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:58.156912 < "SIZE verifiedserver" 20:54:58.156956 > "213 18[CR][LF]" 20:54:58.157055 < "RETR verifiedserver" 20:54:58.157077 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:58.157130 =====> Closing passive DATA connection... 20:54:58.157141 Server disconnects passive DATA connection 20:54:58.157291 Server disconnected passive DATA connection 20:54:58.157308 DATA sockfilt for passive data channel quits (pid 135262) 20:54:58.157482 DATA sockfilt for passive data channel quit (pid 135262) 20:54:58.157497 =====> Closed passive DATA connection 20:54:58.157516 > "226 File transfer complete[CR][LF]" 20:54:58.198922 < "QUIT" 20:54:58.198963 > "221 bye bye baby[CR][LF]" 20:54:58.199332 MAIN sockfilt said DISC 20:54:58.199353 ====> Client disconnected 20:54:58.199396 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:58.375995 ====> Client connect 20:54:58.376208 Received DATA (on stdin) 20:54:58.376218 > 160 bytes data, server => client 20:54:58.376226 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:58.376233 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:58.376240 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:58.376285 < 16 bytes data, client => server 20:54:58.376293 'USER anonymous\r\n' 20:54:58.376415 Received DATA (on stdin) 20:54:58.376424 > 33 bytes data, server => client 20:54:58.376431 '331 We are happy you popped in!\r\n' 20:54:58.376480 < 22 bytes data, client => server 20:54:58.376488 'PASS ftp@example.com\r\n' 20:54:58.376553 Received DATA (on stdin) 20:54:58.376561 > 30 bytes data, server => client 20:54:58.376568 '230 Welcome you silly person\r\n' 20:54:58.376598 < 5 bytes data, client => server 20:54:58.376605 'PWD\r\n' 20:54:58.376664 Received DATA (on stdin) 20:54:58.376671 > 30 bytes data, server => client 20:54:58.376678 '257 "/" is current directory\r\n' 20:54:58.376720 < 6 bytes data, client => server 20:54:58.376728 'EPSV\r\n' 20:54:58.377985 Received DATA (on stdin) 20:54:58.377994 > 38 bytes data, server => client 20:54:58.378002 '229 Entering Passive Mode (|||37425|)\n' 20:54:58.378129 < 8 bytes data, client => server 20:54:58.378141 'TYPE I\r\n' 20:54:58.378247 Received DATA (on stdin) 20:54:58.378261 > 33 bytes data, server => client 20:54:58.378269 '200 I modify TYPE as you wanted\r\n' 20:54:58.378305 < 21 bytes data, client => server 20:54:58.378313 'SIZE verifiedserver\r\n' 20:54:58.378463 Received DATA (on stdin) 20:54:58.378471 > 8 bytes data, server => client 20:54:58.378478 '213 18\r\n' 20:54:58.378508 < 21 bytes data, client => server 20:54:58.378515 'RETR verifiedserver\r\n' 20:54:58.378646 Received DATA (on stdin) 20:54:58.378653 > 29 bytes data, server => client 20:54:58.378660 '150 Binary junk (18 bytes).\r\n' 20:54:58.379021 Received DATA (on stdin) 20:54:58.379030 > 28 bytes data, server => client 20:54:58.379038 '226 File transfer complete\r\n' 20:54:58.420289 < 6 bytes data, client => server 20:54:58.420306 'QUIT\r\n' 20:54:58.420486 Received DATA (on stdin) 20:54:58.420495 > 18 bytes data, server => client 20:54:58.420501 '221 bye bye baby\r\n' 20:54:58.420798 ====> Client disconnect 20:54:58.420905 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:58.377758 Running IPv4 version 20:54:58.377795 Listening on port 37425 20:54:58.377819 Wrote pid 135262 to log/16/server/ftp_sockdata.pid 20:54:58.377832 Received PING (on stdin) 20:54:58.377889 Received PORT (on stdin) 20:54:58.378120 ====> Client connect 20:54:58.378679 Received DATA (on stdin) 20:54:58.378688 > 18 bytes data, server => client 20:54:58.378695 'WE ROOLZ: 110697\r\n' 20:54:58.378711 Received DISC (on stdin) 20:54:58.378721 ====> Client forcibly disconnected 20:54:58.378819 Received QUIT (on stdin) 20:54:58.378827 quits 20:54:58.378867 ============> 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:35865/538 === End of file stderr538 === Start of file valgrind538 ==135268== ==135268== Process terminating with default action of signal 4 (SIGILL) ==135268== Illegal opcode at address 0x491A6B3 ==135268== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135268== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135268== by 0x491A6B3: Curl_open (url.c:538) ==135268== by 0x48952AF: curl_easy_init (easy.c:377) ==135268== by 0x40012E9: test.part.0 (lib504.c:51) ==135268== by 0x40010A5: UnknownInlinedFun (lib504.c:49) ==135268== by 0x40010A5: main (first.c:196) ==135268== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135268== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135268== by 0x4A93FA5: tsearch (tsearch.c:290) ==135268== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==1352CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind519 ./libtest/lib519 http://127.0.0.1:34637/519 > log/18/stdout519 2> log/18/stderr519 68== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135268== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135268== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135268== by 0x49B1142: setlocale (setlocale.c:337) ==135268== by 0x4001041: main (first.c:135) ==135268== ==135268== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135268== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135268== by 0x4A93FA5: tsearch (tsearch.c:290) ==135268== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135268== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135268== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135268== by 0x49B1142: setlocale (setlocale.c:337) ==135268== by 0x4001041: main (first.c:135) ==135268== ==135268== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135268== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135268== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135268== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135268== by 0x49B1142: setlocale (setlocale.c:337) ==135268== by 0x4001041: main (first.c:135) ==135268== ==135268== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135268== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135268== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135268== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135268== by 0x49B1142: setlocale (setlocale.c:337) ==135268== by 0x4001041: main (first.c:135) ==135268== ==135268== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135268== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135268== by 0x491A603: Curl_open (url.c:517) ==135268== by 0x48952AF: curl_easy_init (easy.c:377) ==135268== by 0x40012E9: test.part.0 (lib504.c:51) ==135268== by 0x40010A5: UnknownInlinedFun (lib504.c:49) ==135268== by 0x40010A5: main (first.c:196) ==135268== ==135268== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135268== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135268== by 0x4A93FA5: tsearch (tsearch.c:290) ==135268== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135268== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135268== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135268== by 0x49B1142: setlocale (setlocale.c:337) ==135268== by 0x4001041: main (first.c:135) ==135268== ==135268== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135268== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135268== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135268== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135268== by 0x49B1142: setlocale (setlocale.c:337) ==135268== by 0x4001041: main (first.c:135) ==135268== === End of file valgrind538 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/18/valgrind519 ./libtest/lib519 http://127.0.0.1:34637/519 > log/18/stdout519 2> log/18/stderr519 519: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 519 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind519 ./libtest/lib519 http://127.0.0.1:34637/519 > log/18/stdout519 2> log/18/stderr519 === End of file commands.log === Start of file http_server.log 20:54:44.468684 ====> Client connect 20:54:44.468718 accept_connection 3 returned 4 20:54:44.468736 accept_connection 3 returned 0 20:54:44.468750 Read 93 bytes 20:54:44.468760 Process 93 bytes request 20:54:44.468772 Got request: GET /verifiedserver HTTP/1.1 20:54:44.468781 Are-we-friendly question received 20:54:44.468811 Wrote request (93 bytes) input to log/18/server.input 20:54:44.468831 Identifying ourselves as friends 20:54:44.468886 Response sent (57 bytes) and written to log/18/server.response 20:54:44.468898 special request received, no persistency 20:54:44.468907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:34637/519 === End of file stderr519 === Start of file valgrind519 ==134040== ==134040== Process terminating with default action of signal 4 (SIGILL) ==134040== Illegal opcode at address 0x491A6B3 ==134040== at 0x491A6B3: 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/11/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:44265 silly:person custom.set.host.name > log/11/stdout540 2> log/11/stderr540 ) ==134040== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134040== by 0x491A6B3: Curl_open (url.c:538) ==134040== by 0x48952AF: curl_easy_init (easy.c:377) ==134040== by 0x4001081: UnknownInlinedFun (lib519.c:38) ==134040== by 0x4001081: main (first.c:196) ==134040== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134040== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134040== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134040== by 0x4A93FA5: tsearch (tsearch.c:290) ==134040== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134040== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134040== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134040== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134040== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134040== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134040== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134040== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134040== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134040== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134040== by 0x49B1142: setlocale (setlocale.c:337) ==134040== by 0x4001041: main (first.c:135) ==134040== ==134040== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134040== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134040== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134040== by 0x4A93FA5: tsearch (tsearch.c:290) ==134040== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134040== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134040== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134040== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134040== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134040== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134040== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134040== by 0x49B1142: setlocale (setlocale.c:337) ==134040== by 0x4001041: main (first.c:135) ==134040== ==134040== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134040== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134040== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134040== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134040== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134040== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134040== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134040== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134040== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134040== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134040== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134040== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134040== by 0x49B1142: setlocale (setlocale.c:337) ==134040== by 0x4001041: main (first.c:135) ==134040== ==134040== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134040== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134040== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134040== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134040== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134040== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134040== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134040== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134040== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134040== by 0x49B1142: setlocale (setlocale.c:337) ==134040== by 0x4001041: main (first.c:135) ==134040== ==134040== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134040== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134040== by 0x491A603: Curl_open (url.c:517) ==134040== by 0x48952AF: curl_easy_init (easy.c:377) ==134040== by 0x4001081: UnknownInlinedFun (lib519.c:38) ==134040== by 0x4001081: main (first.c:196) ==134040== ==134040== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134040== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134040== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134040== by 0x4A93FA5: tsearch (tsearch.c:290) ==134040== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134040== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134040== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134040== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134040== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134040== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134040== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134040== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134040== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134040== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134040== by 0x49B1142: setlocale (setlocale.c:337) ==134040== by 0x4001041: main (first.c:135) ==134040== ==134040== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134040== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134040== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134040== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134040== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134040== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134040== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134040== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134040== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134040== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134040== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134040== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134040== by 0x49B1142: setlocale (setlocale.c:337) ==134040== by 0x4001041: main (first.c:135) ==134040== === End of file valgrind519 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/11/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:44265 silly:person custom.set.host.name > log/11/stdout540 2> log/11/stderr540 540: 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 540 === Start of file commands.log ../libtool --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/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:44265 silly:person custom.set.host.name > log/11/stdout540 2> log/11/stderr540 === End of file commands.log === Start of file http_server.log 20:54:58.565713 ====> Client connect 20:54:58.565736 accept_connection 3 returned 4 20:54:58.565748 accept_connection 3 returned 0 20:54:58.565758 Read 93 bytes 20:54:58.565765 Process 93 bytes request 20:54:58.565774 Got request: GET /verifiedserver HTTP/1.1 20:54:58.565781 Are-we-friendly question received 20:54:58.565799 Wrote request (93 bytes) input to log/11/server.input 20:54:58.565810 Identifying ourselves as friends 20:54:58.565854 Response sent (57 bytes) and written to log/11/server.response 20:54:58.565861 special request received, no persistency 20:54:58.565868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.1 > Accept: */* > * RequesCMD (33792): ../libtool --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:39141/537 > log/7/stdout537 2> log/7/stderr537 t 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: 104805 === 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: 18 WE ROOLZ: 104805 === 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 ==135407== ==135407== Process terminating with default action of signal 4 (SIGILL) ==135407== Illegal opcode at address 0x48E3D1B ==135407== at 0x48E3D1B: UnknownInlinedFun (string_fortified.h:59) ==135407== by 0x48E3D1B: UnknownInlinedFun (uint-table.c:40) ==135407== by 0x48E3D1B: Curl_multi_handle (multi.c:235) ==135407== by 0x4001167: UnknownInlinedFun (lib540.c:226) ==135407== by 0x4001167: main (first.c:196) ==135407== 408 bytes in 17 blocks are possibly lost in loss record 606 of 657 ==135407== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135407== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135407== by 0x4A93FA5: tsearch (tsearch.c:290) ==135407== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135407== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135407== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135407== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135407== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135407== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135407== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135407== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135407== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135407== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135407== by 0x49B1142: setlocale (setlocale.c:337) ==135407== by 0x4001059: main (first.c:135) ==135407== ==135407== 552 bytes in 23 blocks are possibly lost in loss record 610 of 657 ==135407== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135407== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135407== by 0x4A93FA5: tsearch (tsearch.c:290) ==135407== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135407== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135407== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135407== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135407== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135407== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135407== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135407== by 0x49B1142: setlocale (setlocale.c:337) ==135407== by 0x4001059: main (first.c:135) ==135407== ==135407== 632 bytes in 1 blocks are definitely lost in loss record 615 of 657 ==135407== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135407== by 0x48E3C74: Curl_multi_handle (multi.c:226) ==135407== by 0x4001167: UnknownInlinedFun (lib540.c:226) ==135407== by 0x4001167: main (first.c:196) ==135407== ==135407== 681 bytes in 17 blocks are possibly lost in loss record 617 of 657 ==135407== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135407== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135407== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135407== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135407== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135407== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135407== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135407== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135407== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135407== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135407== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135407== by 0x49B1142: setlocale (setlocale.c:337) ==135407== by 0x4001059: main (first.c:135) ==135407== ==135407== 1,018 bytes in 23 blocks are possibly lost in loss record 632 of 657 ==135407== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135407== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135407== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135407== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135407== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135407== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135407== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135407== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135407== by 0x49B1142: setlocale (setlocale.c:337) ==135407== by 0x4001059: main (first.c:135) ==135407== ==135407== 11,664 bytes in 486 blocks are possibly lost in loss record 653 of 657 ==135407== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135407== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135407== by 0x4A93FA5: tsearch (tsearch.c:290) ==135407== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135407== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135407== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135407== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135407== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135407== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135407== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135407== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135407== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135407== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135407== by 0x49B1142: setlocale (setlocale.c:337) ==135407== by 0x4001059: main (first.c:135) ==135407== ==135407== 18,800 bytes in 486 blocks are possibly lost in loss record 655 of 657 ==135407== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135407== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135407== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135407== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135407== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135407== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135407== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135407== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135407== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135407== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135407== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135407== by 0x49B1142: setlocale (setlocale.c:337) ==135407== by 0x4001059: main (first.c:135) ==135407== === End of file valgrind540 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:39141/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 commands.log ../libtool --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:39141/537 > log/7/stdout537 2> log/7/stderr537 === End of file commands.log === Start of file http_server.log 20:54:58.343250 ====> Client connect 20:54:58.343273 accept_connection 3 returned 4 20:54:58.343285 accept_connection 3 returned 0 20:54:58.343294 Read 93 bytes 20:54:58.343301 Process 93 bytes request 20:54:58.343309 Got request: GET /verifiedserver HTTP/1.1 20:54:58.343315 Are-we-friendly question received 20:54:58.343332 Wrote request (93 bytes) input to log/7/server.input 20:54:58.343343 Identifying ourselves as friends 20:54:58.343377 Response sent (57 bytes) and written to log/7/server.response 20:54:58.343384 special request received, no persistency 20:54:58.343392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:39141/537 initial soft limit: 1024 initial hard limit: 1024 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 1013 file descriptors initializing testfd array trying to open 1013 file descriptors 1013 file descriptors open === End of file stderr537 === Start of file valgrind537 ==135315== ==135315== Process terminating with default action of signal 4 (SIGILL) ==135315== Illegal opcode at address 0x491A6B3 ==135315== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135315== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135315== by 0x491A6B3: Curl_open (url.c:538) ==135315== by 0x48952AF: curl_easy_init (easy.c:377) ==135315== by 0x40010DB: UnknownInlinedFun (lib537.c:493) ==135315== by 0x40010DB: UnknownInlinedFun (lib537.c:465) ==135315== by 0x40010DB: main (first.c:196) ==135315== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==135315== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135315== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135315== by 0x4A93FA5: tsearch (tsearch.c:290) ==135315== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135315== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135315== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135315== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135315== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135315== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135315== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135315== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135315== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135315== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135315== by 0x49B1142: setlocale (setlocale.c:337) ==135315== by 0x4001041: main (first.c:135) ==135315== ==135315== 552 bytes in 23 blocks are possibly lost in loss record 608 of 656 ==135315== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135315== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135315== by 0x4A93FA5: tsearch (tsearch.c:290) ==135315== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135315== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135315== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135315== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135315== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135315== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135315== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135315== by 0x49B1142: setlocale (setlocale.c:337) ==135315== by 0x4001041: main (first.c:135) ==135315== ==135315== 681 bytes in 17 blocks are possibly lost in loss record 614 of 656 ==135315== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135315== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135315== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135315== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135315== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135315== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135315== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135315== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135315== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135315== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135315== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135315== by 0x49B1142: setlocale (setlocale.c:337) ==135315== by 0x4001041: main (first.c:135) ==135315== ==135315== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 656 ==135315== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135315== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135315== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135315== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135315== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135315== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135315== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135315== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135315== by 0x49B1142: setlocale (setlocale.c:337) ==135315== by 0x4001041: main (first.c:135) ==135315== ==135315== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==135315== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135315== by 0x491A603: Curl_open (url.c:517) ==135315== by 0x48952AF: curl_easy_init (easy.c:377) ==135315== by 0x40010DB: UnknownInlinedFun (lib537.c:493) ==135315== by 0x40010DB: UnknownInlinedFun (lib537.c:465) ==135315== by 0x40010DB: main (first.c:196) ==135315== ==135315== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==135315== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135315== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135315== by 0x4A93FA5: tsearch (tsearch.c:290) ==135315== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135315== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135315== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135315== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135315== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135315== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135315== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135315== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135315== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135315== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135315== by 0x49B1142: setlocale (setlocale.c:337) ==135315== by 0x4001041: main (first.c:135) ==135315== ==135315== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==135315== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135315== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135315== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135315== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135315== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135315== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135315== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135315== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135315== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135315== 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/4/valgrind539 ./libtest/lib539 ftp://127.0.0.1:45117/path/to/the/file/539 ftp://127.0.0.1:45117/path/to/the/file/5390001 > log/4/stdout539 2> log/4/stderr539 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135315== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135315== by 0x49B1142: setlocale (setlocale.c:337) ==135315== by 0x4001041: main (first.c:135) ==135315== === End of file valgrind537 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/4/valgrind539 ./libtest/lib539 ftp://127.0.0.1:45117/path/to/the/file/539 ftp://127.0.0.1:45117/path/to/the/file/5390001 > log/4/stdout539 2> log/4/stderr539 539: 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 539 === Start of file commands.log ../libtool --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/valgrind539 ./libtest/lib539 ftp://127.0.0.1:45117/path/to/the/file/539 ftp://127.0.0.1:45117/path/to/the/file/5390001 > log/4/stdout539 2> log/4/stderr539 === End of file commands.log === Start of file ftp_server.log 20:54:58.339227 ====> Client connect 20:54:58.339396 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:58.339651 < "USER anonymous" 20:54:58.339677 > "331 We are happy you popped in![CR][LF]" 20:54:58.339784 < "PASS ftp@example.com" 20:54:58.339802 > "230 Welcome you silly person[CR][LF]" 20:54:58.339910 < "PWD" 20:54:58.339940 > "257 "/" is current directory[CR][LF]" 20:54:58.340048 < "EPSV" 20:54:58.340067 ====> Passive DATA channel requested by client 20:54:58.340076 DATA sockfilt for passive data channel starting... 20:54:58.341125 DATA sockfilt for passive data channel started (pid 135394) 20:54:58.341206 DATA sockfilt for passive data channel listens on port 36277 20:54:58.341232 > "229 Entering Passive Mode (|||36277|)[LF]" 20:54:58.341247 Client has been notified that DATA conn will be accepted on port 36277 20:54:58.341411 Client connects to port 36277 20:54:58.341433 ====> Client established passive DATA connection on port 36277 20:54:58.341479 < "TYPE I" 20:54:58.341496 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:58.341681 < "SIZE verifiedserver" 20:54:58.341709 > "213 18[CR][LF]" 20:54:58.341918 < "RETR verifiedserver" 20:54:58.341968 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:58.342048 =====> Closing passive DATA connection... 20:54:58.342063 Server disconnects passive DATA connection 20:54:58.342137 Server disconnected passive DATA connection 20:54:58.342164 DATA sockfilt for passive data channel quits (pid 135394) 20:54:58.342332 DATA sockfilt for passive data channel quit (pid 135394) 20:54:58.342347 =====> Closed passive DATA connection 20:54:58.342367 > "226 File transfer complete[CR][LF]" 20:54:58.385749 < "QUIT" 20:54:58.385831 > "221 bye bye baby[CR][LF]" 20:54:58.385946 MAIN sockfilt said DISC 20:54:58.385964 ====> Client disconnected 20:54:58.386018 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:58.560639 ====> Client connect 20:54:58.560927 Received DATA (on stdin) 20:54:58.560940 > 160 bytes data, server => client 20:54:58.560949 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:58.560956 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:58.560977 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:58.561046 < 16 bytes data, client => server 20:54:58.561055 'USER anonymous\r\n' 20:54:58.561184 Received DATA (on stdin) 20:54:58.561192 > 33 bytes data, server => client 20:54:58.561199 '331 We are happy you popped in!\r\n' 20:54:58.561233 < 22 bytes data, client => server 20:54:58.561240 'PASS ftp@example.com\r\n' 20:54:58.561309 Received DATA (on stdin) 20:54:58.561323 > 30 bytes data, server => client 20:54:58.561331 '230 Welcome you silly person\r\n' 20:54:58.561368 < 5 bytes data, client => server 20:54:58.561376 'PWD\r\n' 20:54:58.561447 Received DATA (on stdin) 20:54:58.561455 > 30 bytes data, server => client 20:54:58.561462 '257 "/" is current directory\r\n' 20:54:58.561498 < 6 bytes data, client => server 20:54:58.561506 'EPSV\r\n' 20:54:58.562737 Received DATA (on stdin) 20:54:58.562762 > 38 bytes data, server => client 20:54:58.562770 '229 Entering Passive Mode (|||36277|)\n' 20:54:58.562879 < 8 bytes data, client => server 20:54:58.562887 'TYPE I\r\n' 20:54:58.563012 Received DATA (on stdin) 20:54:58.563075 > 33 bytes data, server => client 20:54:58.563093 '200 I modify TYPE as you wanted\r\n' 20:54:58.563129 < 21 bytes data, client => server 20:54:58.563137 'SIZE verifiedserver\r\n' 20:54:58.563213 Received DATA (on stdin) 20:54:58.563229 > 8 bytes data, server => client 20:54:58.563239 '213 18\r\n' 20:54:58.563309 < 21 bytes data, client => server 20:54:58.563321 'RETR verifiedserver\r\n' 20:54:58.563553 Received DATA (on stdin) 20:54:58.563564 > 29 bytes data, server => client 20:54:58.563572 '150 Binary junk (18 bytes).\r\n' 20:54:58.563875 Received DATA (on stdin) 20:54:58.563891 > 28 bytes data, server => client 20:54:58.563898 '226 File transfer complete\r\n' 20:54:58.607025 < 6 bytes data, client => server 20:54:58.607052 'QUIT\r\n' 20:54:58.607321 Received DATA (on stdin) 20:54:58.607341 > 18 bytes data, server => client 20:54:58.607361 '221 bye bye baby\r\n' 20:54:58.607423 ====> Client disconnect 20:54:58.607523 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:58.562513 Running IPv4 version 20:54:58.562552 Listening on port 36277 20:54:58.562578 Wrote pid 135394 to log/4/server/ftp_sockdata.pid 20:54:58.562590 Received PING (on stdin) 20:54:58.562647 Received PORT (on stdin) 20:54:58.562859 ====> Client connect 20:54:58.563492 Received DATA (on stdin) 20:54:58.563506 > 18 bytes data, server => client 20:54:58.563514 'WE ROOLZ: 110707\r\n' 20:54:58.563585 Received DISC (on stdin) 20:54:58.563603 ====> Client forcibly disconnected 20:54:58.563683 Received QUIT (on stdin) 20:54:58.563694 quits 20:54:58.563733 ============> 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:45117/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==135456== ==135456== Process terminating with default action of signal 4 (SIGILL) ==135456== Illegal opcode at address 0x491A6B3 ==135456== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135456== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135456== by 0x491A6B3: Curl_open (url.c:538) ==135456== by 0x48952AF: curl_easy_init (easy.c:377) ==135456== by 0x4001098: UnknownInlinedFun (lib539.c:40) ==135456== by 0x4001098: main (first.c:196) ==135456== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135456== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135456== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135456== by 0x4A93FA5: tsearch (tsearch.c:290) ==135456== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135456== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135456== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135456== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135456== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135456== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135456== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135456== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135456== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135456== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135456== by 0x49B1142: setlocale (setlocale.c:337) ==135456== by 0x4001047: main (first.c:135CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind513 ./libtest/lib513 http://127.0.0.1:41293/513 > log/20/stdout513 2> log/20/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/24/valgrind541 ./libtest/lib541 ftp://127.0.0.1:46525/541 log/24/upload541 > log/24/stdout541 2> log/24/stderr541 ) ==135456== ==135456== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135456== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135456== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135456== by 0x4A93FA5: tsearch (tsearch.c:290) ==135456== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135456== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135456== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135456== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135456== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135456== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135456== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135456== by 0x49B1142: setlocale (setlocale.c:337) ==135456== by 0x4001047: main (first.c:135) ==135456== ==135456== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135456== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135456== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135456== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135456== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135456== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135456== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135456== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135456== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135456== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135456== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135456== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135456== by 0x49B1142: setlocale (setlocale.c:337) ==135456== by 0x4001047: main (first.c:135) ==135456== ==135456== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135456== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135456== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135456== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135456== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135456== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135456== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135456== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135456== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135456== by 0x49B1142: setlocale (setlocale.c:337) ==135456== by 0x4001047: main (first.c:135) ==135456== ==135456== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135456== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135456== by 0x491A603: Curl_open (url.c:517) ==135456== by 0x48952AF: curl_easy_init (easy.c:377) ==135456== by 0x4001098: UnknownInlinedFun (lib539.c:40) ==135456== by 0x4001098: main (first.c:196) ==135456== ==135456== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135456== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135456== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135456== by 0x4A93FA5: tsearch (tsearch.c:290) ==135456== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135456== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135456== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135456== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135456== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135456== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135456== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135456== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135456== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135456== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135456== by 0x49B1142: setlocale (setlocale.c:337) ==135456== by 0x4001047: main (first.c:135) ==135456== ==135456== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135456== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135456== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135456== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135456== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135456== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135456== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135456== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135456== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135456== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135456== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135456== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135456== by 0x49B1142: setlocale (setlocale.c:337) ==135456== by 0x4001047: main (first.c:135) ==135456== === 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/24/valgrind541 ./libtest/lib541 ftp://127.0.0.1:46525/541 log/24/upload541 > log/24/stdout541 2> log/24/stderr541 541: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind541 ./libtest/lib541 ftp://127.0.0.1:46525/541 log/24/upload541 > log/24/stdout541 2> log/24/stderr541 === End of file commands.log === Start of file ftp_server.log 20:54:58.345851 ====> Client connect 20:54:58.345953 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:58.346157 < "USER anonymous" 20:54:58.346183 > "331 We are happy you popped in![CR][LF]" 20:54:58.346300 < "PASS ftp@example.com" 20:54:58.346318 > "230 Welcome you silly person[CR][LF]" 20:54:58.346414 < "PWD" 20:54:58.346432 > "257 "/" is current directory[CR][LF]" 20:54:58.346528 < "EPSV" 20:54:58.346543 ====> Passive DATA channel requested by client 20:54:58.346551 DATA sockfilt for passive data channel starting... 20:54:58.347572 DATA sockfilt for passive data channel started (pid 135404) 20:54:58.347643 DATA sockfilt for passive data channel listens on port 43891 20:54:58.347666 > "229 Entering Passive Mode (|||43891|)[LF]" 20:54:58.347678 Client has been notified that DATA conn will be accepted on port 43891 20:54:58.347814 Client connects to port 43891 20:54:58.347834 ====> Client established passive DATA connection on port 43891 20:54:58.347875 < "TYPE I" 20:54:58.347892 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:58.348093 < "SIZE verifiedserver" 20:54:58.348146 > "213 18[CR][LF]" 20:54:58.348324 < "RETR verifiedserver" 20:54:58.348354 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:58.348409 =====> Closing passive DATA connection... 20:54:58.348419 Server disconnects passive DATA connection 20:54:58.348606 Server disconnected passive DATA connection 20:54:58.348623 DATA sockfilt for passive data channel quits (pid 135404) 20:54:58.348799 DATA sockfilt for passive data channel quit (pid 135404) 20:54:58.348824 =====> Closed passive DATA connection 20:54:58.348849 > "226 File transfer complete[CR][LF]" 20:54:58.390895 < "QUIT" 20:54:58.390932 > "221 bye bye baby[CR][LF]" 20:54:58.391021 MAIN sockfilt said DISC 20:54:58.391036 ====> Client disconnected 20:54:58.391083 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:57.567282 ====> Client connect 20:54:57.567464 Received DATA (on stdin) 20:54:57.567474 > 160 bytes data, server => client 20:54:57.567482 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:57.567489 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:57.567495 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:57.567539 < 16 bytes data, client => server 20:54:57.567549 'USER anonymous\r\n' 20:54:57.567690 Received DATA (on stdin) 20:54:57.567699 > 33 bytes data, server => client 20:54:57.567706 '331 We are happy you popped in!\r\n' 20:54:57.567738 < 22 bytes data, client => server 20:54:57.567746 'PASS ftp@example.com\r\n' 20:54:57.567822 Received DATA (on stdin) 20:54:57.567830 > 30 bytes data, server => client 20:54:57.567837 '230 Welcome you silly person\r\n' 20:54:57.567867 < 5 bytes data, client => server 20:54:57.567874 'PWD\r\n' 20:54:57.567935 Received DATA (on stdin) 20:54:57.567942 > 30 bytes data, server => client 20:54:57.567949 '257 "/" is current directory\r\n' 20:54:57.567983 < 6 bytes data, client => server 20:54:57.567990 'EPSV\r\n' 20:54:57.569186 Received DATA (on stdin) 20:54:57.569194 > 38 bytes data, server => client 20:54:57.569202 '229 Entering Passive Mode (|||43891|)\n' 20:54:57.569286 < 8 bytes data, client => server 20:54:57.569294 'TYPE I\r\n' 20:54:57.569397 Received DATA (on stdin) 20:54:57.569405 > 33 bytes data, server => client 20:54:57.569411 '200 I modify TYPE as you wanted\r\n' 20:54:57.569445 < 21 bytes data, client => server 20:54:57.569452 'SIZE verifiedserver\r\n' 20:54:57.569667 Received DATA (on stdin) 20:54:57.569683 > 8 bytes data, server => client 20:54:57.569694 '213 18\r\n' 20:54:57.569783 < 21 bytes data, client => server 20:54:57.569798 'RETR verifiedserver\r\n' 20:54:57.569928 Received DATA (on stdin) 20:54:57.569939 > 29 bytes data, server => client 20:54:57.569946 '150 Binary junk (18 bytes).\r\n' 20:54:57.570358 Received DATA (on stdin) 20:54:57.570369 > 28 bytes data, server => client 20:54:57.570378 '226 File transfer complete\r\n' 20:54:57.612258 < 6 bytes data, client => server 20:54:57.612275 'QUIT\r\n' 20:54:57.612440 Received DATA (on stdin) 20:54:57.612449 > 18 bytes data, server => client 20:54:57.612456 '221 bye bye baby\r\n' 20:54:57.612497 ====> Client disconnect 20:54:57.612587 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:58.568963 Running IPv4 version 20:54:58.569001 Listening on port 43891 20:54:58.569027 Wrote pid 135404 to log/24/server/ftp_sockdata.pid 20:54:58.569040 Received PING (on stdin) 20:54:58.569093 Received PORT (on stdin) 20:54:58.569269 ====> Client connect 20:54:58.569997 Received DATA (on stdin) 20:54:58.570010 > 18 bytes data, server => client 20:54:58.570017 'WE ROOLZ: 119268\r\n' 20:54:58.570036 Received DISC (on stdin) 20:54:58.570045 ====> Client forcibly disconnected 20:54:58.570132 Received QUIT (on stdin) 20:54:58.570140 quits 20:54:58.570179 ============> 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:46525/541 === End of file stderr541 === Start of file upload541 Contents of a file to verify ftp upload works? === End of file upload541 === Start of file valgrind541 ==135463== ==135463== Process terminating with default action of signal 4 (SIGILL) ==135463== Illegal opcode at address 0x491A6B3 ==135463== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135463== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135463== by 0x491A6B3: Curl_open (url.c:538) ==135463== by 0x48952AF: curl_easy_init (easy.c:377) ==135463== by 0x4001102: UnknownInlinedFun (lib541.c:85) ==135463== by 0x4001102: main (first.c:196) ==135463== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==135463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135463== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135463== by 0x4A93FA5: tsearch (tsearch.c:290) ==135463== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135463== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135463== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135463== by 0x49B1142: setlocale (setlocale.c:337) ==135463== by 0x4001059: main (first.c:135) ==135463== ==135463== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==135463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135463== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135463== by 0x4A93FA5: tsearch (tsearch.c:290) ==135463== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135463== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135463== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135463== by 0x49B1142: setlocale (setlocale.c:337) ==135463== by 0x4001059: main (first.c:135) ==135463== ==135463== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==135463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135463== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135463== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135463== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135463== by 0x49B1142: setlocale (setlocale.c:337) ==135463== by 0x4001059: main (first.c:135) ==135463== ==135463== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==135463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135463== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135463== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135463== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135463== by 0x49B1142: setlocale (setlocale.c:337) ==135463== by 0x4001059: main (first.c:135) ==135463== ==135463== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==135463== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135463== by 0x491A603: Curl_open (url.c:517) ==135463== by 0x48952AF: curl_easy_init (easy.c:377) ==135463== by 0x4001102: UnknownInlinedFun (lib541.c:85) ==135463== by 0x4001102: main (first.c:196) ==135463== ==135463== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==135463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135463== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135463== by 0x4A93FA5: tsearch (tsearch.c:290) ==135463== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135463== by 0x49A6775: 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/12/valgrind500 ./libtest/lib500 http://127.0.0.1:33337/500 log/12/ip500 > log/12/stdout500 2> log/12/stderr500 ==135463== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135463== by 0x49B1142: setlocale (setlocale.c:337) ==135463== by 0x4001059: main (first.c:135) ==135463== ==135463== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==135463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135463== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135463== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135463== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135463== by 0x49B1142: setlocale (setlocale.c:337) ==135463== by 0x4001059: main (first.c:135) ==135463== === End of file valgrind541 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/12/valgrind500 ./libtest/lib500 http://127.0.0.1:33337/500 log/12/ip500 > log/12/stdout500 2> log/12/stderr500 500: 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 500 === Start of file commands.log ../libtool --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/valgrind500 ./libtest/lib500 http://127.0.0.1:33337/500 log/12/ip500 > log/12/stdout500 2> log/12/stderr500 === End of file commands.log === Start of file http_server.log 20:54:43.886575 ====> Client connect 20:54:43.886606 accept_connection 3 returned 4 20:54:43.886625 accept_connection 3 returned 0 20:54:43.886639 Read 93 bytes 20:54:43.886649 Process 93 bytes request 20:54:43.886661 Got request: GET /verifiedserver HTTP/1.1 20:54:43.886671 Are-we-friendly question received 20:54:43.886697 Wrote request (93 bytes) input to log/12/server.input 20:54:43.886714 Identifying ourselves as friends 20:54:43.886772 Response sent (57 bytes) and written to log/12/server.response 20:54:43.886783 special request received, no persistency 20:54:43.886792 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:33337/500 === End of file stderr500 === Start of file valgrind500 ==132888== ==132888== Process terminating with default action of signal 4 (SIGILL) ==132888== Illegal opcode at address 0x491A6B3 ==132888== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==132888== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==132888== by 0x491A6B3: Curl_open (url.c:538) ==132888== by 0x48952AF: curl_easy_init (easy.c:377) ==132888== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==132888== by 0x40010BE: main (first.c:196) ==132888== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==132888== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132888== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132888== by 0x4A93FA5: tsearch (tsearch.c:290) ==132888== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132888== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132888== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132888== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132888== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==132888== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==132888== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132888== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132888== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132888== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132888== by 0x49B1142: setlocale (setlocale.c:337) ==132888== by 0x4001054: main (first.c:135) ==132888== ==132888== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==132888== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132888== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132888== by 0x4A93FA5: tsearch (tsearch.c:290) ==132888== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132888== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==132888== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==132888== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132888== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132888== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132888== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132888== by 0x49B1142: setlocale (setlocale.c:337) ==132888== by 0x4001054: main (first.c:135) ==132888== ==132888== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==132888== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132888== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132888== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132888== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132888== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132888== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==132888== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==132888== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132888== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132888== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132888== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132888== by 0x49B1142: setlocale (setlocale.c:337) ==132888== by 0x4001054: main (first.c:135) ==132888== ==132888== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==132888== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132888== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132888== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==132888== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==132888== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132888== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132888== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132888== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132888== by 0x49B1142: setlocale (setlocale.c:337) ==132888== by 0x4001054: main (first.c:135) ==132888== ==132888== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==132888== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==132888== by 0x491A603: Curl_open (url.c:517) ==132888== by 0x48952AF: curl_easy_init (easy.c:377) ==132888== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==132888== by 0x40010BE:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind542 ./libtest/lib542 ftp://127.0.0.1:42765/542 > log/17/stdout542 2> log/17/stderr542 main (first.c:196) ==132888== ==132888== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==132888== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132888== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132888== by 0x4A93FA5: tsearch (tsearch.c:290) ==132888== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132888== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132888== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132888== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132888== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==132888== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==132888== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132888== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132888== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132888== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132888== by 0x49B1142: setlocale (setlocale.c:337) ==132888== by 0x4001054: main (first.c:135) ==132888== ==132888== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==132888== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132888== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132888== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132888== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132888== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132888== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==132888== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==132888== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132888== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132888== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132888== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132888== by 0x49B1142: setlocale (setlocale.c:337) ==132888== by 0x4001054: main (first.c:135) ==132888== === End of file valgrind500 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/17/valgrind542 ./libtest/lib542 ftp://127.0.0.1:42765/542 > log/17/stdout542 2> log/17/stderr542 542: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind542 ./libtest/lib542 ftp://127.0.0.1:42765/542 > log/17/stdout542 2> log/17/stderr542 === End of file commands.log === Start of file ftp_server.log 20:54:58.602829 ====> Client connect 20:54:58.602940 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:58.603125 < "USER anonymous" 20:54:58.603149 > "331 We are happy you popped in![CR][LF]" 20:54:58.603261 < "PASS ftp@example.com" 20:54:58.603280 > "230 Welcome you silly person[CR][LF]" 20:54:58.603380 < "PWD" 20:54:58.603398 > "257 "/" is current directory[CR][LF]" 20:54:58.603511 < "EPSV" 20:54:58.603531 ====> Passive DATA channel requested by client 20:54:58.603540 DATA sockfilt for passive data channel starting... 20:54:58.604548 DATA sockfilt for passive data channel started (pid 135576) 20:54:58.604623 DATA sockfilt for passive data channel listens on port 43365 20:54:58.604651 > "229 Entering Passive Mode (|||43365|)[LF]" 20:54:58.604663 Client has been notified that DATA conn will be accepted on port 43365 20:54:58.604787 Client connects to port 43365 20:54:58.604808 ====> Client established passive DATA connection on port 43365 20:54:58.604849 < "TYPE I" 20:54:58.604869 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:58.604985 < "SIZE verifiedserver" 20:54:58.605009 > "213 18[CR][LF]" 20:54:58.605105 < "RETR verifiedserver" 20:54:58.605128 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:58.605180 =====> Closing passive DATA connection... 20:54:58.605190 Server disconnects passive DATA connection 20:54:58.605336 Server disconnected passive DATA connection 20:54:58.605353 DATA sockfilt for passive data channel quits (pid 135576) 20:54:58.605493 DATA sockfilt for passive data channel quit (pid 135576) 20:54:58.605508 =====> Closed passive DATA connection 20:54:58.605525 > "226 File transfer complete[CR][LF]" 20:54:58.648917 < "QUIT" 20:54:58.648956 > "221 bye bye baby[CR][LF]" 20:54:58.649547 MAIN sockfilt said DISC 20:54:58.649567 ====> Client disconnected 20:54:58.649608 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:58.824262 ====> Client connect 20:54:58.824453 Received DATA (on stdin) 20:54:58.824463 > 160 bytes data, server => client 20:54:58.824471 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:58.824478 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:58.824485 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:58.824532 < 16 bytes data, client => server 20:54:58.824540 'USER anonymous\r\n' 20:54:58.824656 Received DATA (on stdin) 20:54:58.824665 > 33 bytes data, server => client 20:54:58.824672 '331 We are happy you popped in!\r\n' 20:54:58.824704 < 22 bytes data, client => server 20:54:58.824711 'PASS ftp@example.com\r\n' 20:54:58.824785 Received DATA (on stdin) 20:54:58.824793 > 30 bytes data, server => client 20:54:58.824800 '230 Welcome you silly person\r\n' 20:54:58.824831 < 5 bytes data, client => server 20:54:58.824838 'PWD\r\n' 20:54:58.824902 Received DATA (on stdin) 20:54:58.824909 > 30 bytes data, server => client 20:54:58.824916 '257 "/" is current directory\r\n' 20:54:58.824961 < 6 bytes data, client => server 20:54:58.824973 'EPSV\r\n' 20:54:58.826170 Received DATA (on stdin) 20:54:58.826179 > 38 bytes data, server => client 20:54:58.826187 '229 Entering Passive Mode (|||43365|)\n' 20:54:58.826267 < 8 bytes data, client => server 20:54:58.826280 'TYPE I\r\n' 20:54:58.826374 Received DATA (on stdin) 20:54:58.826384 > 33 bytes data, server => client 20:54:58.826392 '200 I modify TYPE as you wanted\r\n' 20:54:58.826435 < 21 bytes data, client => server 20:54:58.826443 'SIZE verifiedserver\r\n' 20:54:58.826514 Received DATA (on stdin) 20:54:58.826522 > 8 bytes data, server => client 20:54:58.826529 '213 18\r\n' 20:54:58.826559 < 21 bytes data, client => server 20:54:58.826567 'RETR verifiedserver\r\n' 20:54:58.826696 Received DATA (on stdin) 20:54:58.826704 > 29 bytes data, server => client 20:54:58.826712 '150 Binary junk (18 bytes).\r\n' 20:54:58.827030 Received DATA (on stdin) 20:54:58.827040 > 28 bytes data, server => client 20:54:58.827047 '226 File transfer complete\r\n' 20:54:58.870306 < 6 bytes data, client => server 20:54:58.870331 'QUIT\r\n' 20:54:58.870465 Received DATA (on stdin) 20:54:58.870475 > 18 bytes data, server => client 20:54:58.870483 '221 bye bye baby\r\n' 20:54:58.871017 ====> Client disconnect 20:54:58.871112 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:58.825943 Running IPv4 version 20:54:58.825979 Listening on port 43365 20:54:58.826001 Wrote pid 135576 to log/17/server/ftp_sockdata.pid 20:54:58.826015 Received PING (on stdin) 20:54:58.826072 Received PORT (on stdin) 20:54:58.826259 ====> Client connect 20:54:58.826728 Received DATA (on stdin) 20:54:58.826737 > 18 bytes data, server => client 20:54:58.826745 'WE ROOLZ: 110706\r\n' 20:54:58.826760 Received DISC (on stdin) 20:54:58.826768 ====> Client forcibly disconnected 20:54:58.826872 Received QUIT (on stdin) 20:54:58.826880 quits 20:54:58.826913 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 542 === End 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/14/valgrind543 ./libtest/lib543 - > log/14/stdout543 2> log/14/stderr543 file server.cmd === Start of file stderr542 URL: ftp://127.0.0.1:42765/542 === End of file stderr542 === Start of file valgrind542 ==135581== ==135581== Process terminating with default action of signal 4 (SIGILL) ==135581== Illegal opcode at address 0x491A6B3 ==135581== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135581== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135581== by 0x491A6B3: Curl_open (url.c:538) ==135581== by 0x48952AF: curl_easy_init (easy.c:377) ==135581== by 0x4001087: UnknownInlinedFun (lib542.c:47) ==135581== by 0x4001087: main (first.c:196) ==135581== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135581== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135581== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135581== by 0x4A93FA5: tsearch (tsearch.c:290) ==135581== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135581== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135581== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135581== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135581== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135581== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135581== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135581== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135581== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135581== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135581== by 0x49B1142: setlocale (setlocale.c:337) ==135581== by 0x4001047: main (first.c:135) ==135581== ==135581== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135581== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135581== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135581== by 0x4A93FA5: tsearch (tsearch.c:290) ==135581== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135581== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135581== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135581== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135581== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135581== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135581== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135581== by 0x49B1142: setlocale (setlocale.c:337) ==135581== by 0x4001047: main (first.c:135) ==135581== ==135581== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135581== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135581== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135581== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135581== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135581== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135581== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135581== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135581== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135581== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135581== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135581== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135581== by 0x49B1142: setlocale (setlocale.c:337) ==135581== by 0x4001047: main (first.c:135) ==135581== ==135581== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135581== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135581== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135581== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135581== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135581== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135581== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135581== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135581== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135581== by 0x49B1142: setlocale (setlocale.c:337) ==135581== by 0x4001047: main (first.c:135) ==135581== ==135581== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135581== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135581== by 0x491A603: Curl_open (url.c:517) ==135581== by 0x48952AF: curl_easy_init (easy.c:377) ==135581== by 0x4001087: UnknownInlinedFun (lib542.c:47) ==135581== by 0x4001087: main (first.c:196) ==135581== ==135581== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135581== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135581== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135581== by 0x4A93FA5: tsearch (tsearch.c:290) ==135581== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135581== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135581== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135581== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135581== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135581== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135581== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135581== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135581== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135581== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135581== by 0x49B1142: setlocale (setlocale.c:337) ==135581== by 0x4001047: main (first.c:135) ==135581== ==135581== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135581== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135581== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135581== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135581== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135581== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135581== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135581== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135581== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135581== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135581== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135581== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135581== by 0x49B1142: setlocale (setlocale.c:337) ==135581== by 0x4001047: main (first.c:135) ==135581== === End of file valgrind542 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind544 ./libtest/lib544 http://127.0.0.1:33409/544 > log/16/stdout544 2> log/16/stderr544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind545 ./libtest/lib545 http://127.0.0.1:34637/545 > log/18/stdout545 2> log/18/stderr545 * 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/14/valgrind543 ./libtest/lib543 - > log/14/stdout543 2> log/14/stderr543 543: stdout FAILED: --- log/14/check-expected 2025-06-04 20:54:59.476365304 +0000 +++ log/14/check-generated 2025-06-04 20:54:59.476365304 +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/14/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind543 ./libtest/lib543 - > log/14/stdout543 2> log/14/stderr543 === End of file commands.log === 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 ==135639== ==135639== Process terminating with default action of signal 4 (SIGILL) ==135639== Illegal opcode at address 0x491A6B3 ==135639== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135639== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135639== by 0x491A6B3: Curl_open (url.c:538) ==135639== by 0x48952AF: curl_easy_init (easy.c:377) ==135639== by 0x4001084: UnknownInlinedFun (lib543.c:42) ==135639== by 0x4001084: UnknownInlinedFun (lib543.c:30) ==135639== by 0x4001084: main (first.c:196) ==135639== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135639== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135639== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135639== by 0x4A93FA5: tsearch (tsearch.c:290) ==135639== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135639== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135639== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135639== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135639== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135639== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135639== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135639== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135639== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135639== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135639== by 0x49B1142: setlocale (setlocale.c:337) ==135639== by 0x4001045: main (first.c:135) ==135639== ==135639== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135639== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135639== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135639== by 0x4A93FA5: tsearch (tsearch.c:290) ==135639== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135639== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135639== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135639== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135639== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135639== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135639== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135639== by 0x49B1142: setlocale (setlocale.c:337) ==135639== by 0x4001045: main (first.c:135) ==135639== ==135639== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135639== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135639== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135639== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135639== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135639== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135639== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135639== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135639== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135639== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135639== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135639== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135639== by 0x49B1142: setlocale (setlocale.c:337) ==135639== by 0x4001045: main (first.c:135) ==135639== ==135639== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135639== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135639== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135639== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135639== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135639== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135639== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135639== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135639== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135639== by 0x49B1142: setlocale (setlocale.c:337) ==135639== by 0x4001045: main (first.c:135) ==135639== ==135639== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135639== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135639== by 0x491A603: Curl_open (url.c:517) ==135639== by 0x48952AF: curl_easy_init (easy.c:377) ==135639== by 0x4001084: UnknownInlinedFun (lib543.c:42) ==135639== by 0x4001084: UnknownInlinedFun (lib543.c:30) ==135639== by 0x4001084: main (first.c:196) ==135639== ==135639== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135639== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135639== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135639== by 0x4A93FA5: tsearch (tsearch.c:290) ==135639== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135639== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135639== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135639== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135639== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135639== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135639== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135639== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135639== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135639== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135639== by 0x49B1142: setlocale (setlocale.c:337) ==135639== by 0x4001045: main (first.c:135) ==135639== ==135639== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135639== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135639== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135639== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135639== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135639== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135639== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135639== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135639== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135639== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135639== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135639== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135639== by 0x49B1142: setlocale (setlocale.c:337) ==135639== by 0x4001045: main (first.c:135) ==135639== === End of file valgrind543 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/16/valgrind544 ./libtest/lib544 http://127.0.0.1:33409/544 > log/16/stdout544 2> log/16/stderr544 544: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 544 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind544 ./libtest/lib544 http://127.0.0.1:33409/544 > log/16/stdout544 2> log/16/stderr544 === End of file commands.log === Start of file http_server.log 20:54:59.037727 ====> Client connect 20:54:59.037750 accept_connection 3 returned 4 20:54:59.037763 accept_connection 3 returned 0 20:54:59.037773 Read 93 bytes 20:54:59.037781 Process 93 bytes request 20:54:59.037791 Got request: GET /verifiedserver HTTP/1.1 20:54:59.037798 Are-we-friendly question received 20:54:59.037828 Wrote request (93 bytes) input to log/16/server.input 20:54:59.037840 Identifying ourselves as friends 20:54:59.037880 Response sent (57 bytes) and written to log/16/server.response 20:54:59.037887 special request received, no persistency 20:54:59.037894 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:33409/544 === End of file stderr544 === Start of file valgrind544 ==135691== ==135691== Process terminating with default action of signal 4 (SIGILL) ==135691== Illegal opcode at address 0x491A6B3 ==135691== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135691== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135691== by 0x491A6B3: Curl_open (url.c:538) ==135691== by 0x48952AF: curl_easy_init (easy.c:377) ==135691== by 0x4001081: UnknownInlinedFun (lib544.c:44) ==135691== by 0x4001081: main (first.c:196) ==135691== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135691== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135691== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135691== by 0x4A93FA5: tsearch (tsearch.c:290) ==135691== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135691== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135691== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135691== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135691== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135691== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135691== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135691== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135691== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135691== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135691== by 0x49B1142: setlocale (setlocale.c:337) ==135691== by 0x4001041: main (first.c:135) ==135691== ==135691== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135691== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135691== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135691== by 0x4A93FA5: tsearch (tsearch.c:290) ==135691== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135691== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135691== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135691== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135691== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135691== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135691== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135691== by 0x49B1142: setlocale (setlocale.c:337) ==135691== by 0x4001041: main (first.c:135) ==135691== ==135691== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135691== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135691== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135691== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135691== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135691== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135691== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135691== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135691== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135691== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135691== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135691== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135691== by 0x49B1142: setlocale (setlocale.c:337) ==135691== by 0x4001041: main (first.c:135) ==135691== ==135691== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135691== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135691== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135691== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135691== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135691== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135691== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135691== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135691== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135691== by 0x49B1142: setlocale (setlocale.c:337) ==135691== by 0x4001041: main (first.c:135) ==135691== ==135691== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135691== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135691== by 0x491A603: Curl_open (url.c:517) ==135691== by 0x48952AF: curl_easy_init (easy.c:377) ==135691== by 0x4001081: UnknownInlinedFun (lib544.c:44) ==135691== by 0x4001081: main (first.c:196) ==135691== ==135691== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135691== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135691== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135691== by 0x4A93FA5: tsearch (tsearch.c:290) ==135691== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135691== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135691== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135691== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135691== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135691== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135691== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135691== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135691== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135691== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135691== by 0x49B1142: setlocale (setlocale.c:337) ==135691== by 0x4001041: main (first.c:135) ==135691== ==135691== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135691== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135691== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135691== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135691== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135691== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135691== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135691== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135691== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135691== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135691== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135691== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135691== by 0x49B1142: setlocale (setlocale.c:337) ==135691== by 0x4001041: main (first.c:135) ==135691== === End of file valgrind544 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/18/valgrind545 ./libtest/lib545 http://127.0.0.1:34637/545 > log/18/stdout545 2> log/18/stderr545 545: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind545 ./libtest/lib545 http://127.0.0.1:34637/545 > log/18/stdout545 2> log/18/stderr545 === End of file commands.log === Start of file http_server.log 20:54:59.065062 ====> Client connect 20:54:59.065085 accept_connection 3 returned 4 20:54:59.065098 accept_connection 3 returned 0 20:54:59.065108 Read 93 bytes 20:54:59.065116 Process 93 bytes request 20:54:59.065125 Got request: GET /verifiedserver HTTP/1.1 20:54:59.065132 Are-we-friendly question received 20:54:59.065148 Wrote request (93 bytes) input to log/18/server.input 20:54:59.065160 Identifying ourselves as friends 20:54:59.065198 Response sent (57 bytes) and written to log/18/server.response 20:54:59.065205 special request received, no persistency 20:54:59.065212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:34637/545 === End of file stderr545 === Start of file valgrind545 ==135757== ==135757== Process terminating with default action of signal 4 (SIGILL) ==135757== Illegal opcode at address 0x491A6B3 ==135757== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135757== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135757== by 0x491A6B3: Curl_open (url.c:538) ==135757== by 0x48952AF: curl_easy_init (easy.c:377) ==135757== by 0x4001081: UnknownInlinedFun (lib544.c:44) ==135757== by 0x4001081: main (first.c:196) ==135757== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135757== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135757== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135757== by 0x4A93FA5: tsearch (tsearch.c:290) ==135757== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135757== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135757== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135757== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135757== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135757== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135757== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135757== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135757== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135757== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135757== by 0x49B1142: setlocale (setlocale.c:337) ==135757== by 0x4001041: main (first.c:135) ==135757== ==135757== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135757== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135757== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135757== by 0x4A93FA5: tsearch (tsearch.c:290) ==135757== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135757== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135757== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135757== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135757== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135757== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135757== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135757== by 0x49B1142: setlocale (setlocale.c:337) ==135757== by 0x4001041: main (first.c:135) ==135757== ==135757== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135757== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135757== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135757== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135757== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135757== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135757== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135757== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135757== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135757== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135757== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135757== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135757== by 0x49B1142: setlocale (setlocale.c:337) ==135757== by 0x4001041: main (first.c:135) ==135757== ==135757== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135757== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135757== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135757== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135757== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135757== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135757== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135757== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135757== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135757== by 0x49B1142: setlocale (setlocale.c:337) ==135757== by 0x4001041: main (first.c:135) ==135757== ==135757== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135757== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135757== by 0x491A603: Curl_open (url.c:517) ==135757== by 0x48952AF: curl_easy_init (easy.c:377) ==135757== by 0x4001081: UnknownInlinedFun (lib544.c:44) ==135757== by 0x4001081: main (first.c:196) ==135757== ==135757== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135757== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135757== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135757== by 0x4A93FA5: tsearch (tsearch.c:290) ==135757== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135757== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135757== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135757== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135757== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135757== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135757== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135757== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135757== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135757== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135757== by 0x49B1142: setlocale (setlocale.c:337) ==135757== by 0x4001041: main (first.c:135) ==135757== ==135757== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 CMD (33792): ../libtool --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/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:39141 testuser:testpass > log/7/stdout547 2> log/7/stderr547 ==135757== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135757== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135757== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135757== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135757== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135757== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135757== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135757== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135757== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135757== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135757== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135757== by 0x49B1142: setlocale (setlocale.c:337) ==135757== by 0x4001041: main (first.c:135) ==135757== === End of file valgrind545 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/7/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:39141 testuser:testpass > log/7/stdout547 2> log/7/stderr547 547: 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 547 === Start of file commands.log ../libtool --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/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:39141 testuser:testpass > log/7/stdout547 2> log/7/stderr547 === End of file commands.log === Start of file http_server.log 20:54:59.219523 ====> Client connect 20:54:59.219550 accept_connection 3 returned 4 20:54:59.219563 accept_connection 3 returned 0 20:54:59.219573 Read 93 bytes 20:54:59.219581 Process 93 bytes request 20:54:59.219592 Got request: GET /verifiedserver HTTP/1.1 20:54:59.219598 Are-we-friendly question received 20:54:59.219616 Wrote request (93 bytes) input to log/7/server.input 20:54:59.219628 Identifying ourselves as friends 20:54:59.219711 Response sent (57 bytes) and written to log/7/server.response 20:54:59.219773 special request received, no persistency 20:54:59.219800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === 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 ==135852== ==135852== Process terminating with default action of signal 4 (SIGILL) ==135852== Illegal opcode at address 0x491A6B3 ==135852== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135852== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135852== by 0x491A6B3: Curl_open (url.c:538) ==135852== by 0x48952AF: curl_easy_init (easy.c:377) ==135852== by 0x40010BD: UnknownInlinedFun (lib547.c:88) ==135852== by 0x40010BD: main (first.c:196) ==135852== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135852== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135852== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135852== by 0x4A93FA5: tsearch (tsearch.c:290) ==135852== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135852== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135852== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135852== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135852== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135852== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135852== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135852== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135852== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135852== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135852== by 0x49B1142: setlocale (setlocale.c:337) ==135852== by 0x4001054: main (first.c:135) ==135852== ==135852== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135852== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135852== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135852== by 0x4A93FA5: tsearch (tsearch.c:290) ==135852== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135852== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135852== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135852== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135852== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135852== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135852== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135852== by 0x49B1142: setlocale (setlocale.c:337) ==135852== by 0x4001054: main (first.c:135) ==135852== ==135852== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135852== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135852== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135852== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135852== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135852== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135852== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135852== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135852== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135852== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135852== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135852== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135852== by 0x49B1142: setlocale (setlocale.c:337) ==135852== by 0x4001054: main (first.c:135) ==135852== ==135852== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135852== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135852== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135852== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135852== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135852== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135852== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135852== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135852== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135852== by 0x49B1142: setlocale (setlocale.c:337) ==135852== by 0x4001054: main (first.c:135) ==135852== ==135852== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135852== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135852== by 0x491A603: Curl_open (url.c:517) ==135852== by 0x48952AF: curl_easy_init (easy.c:377) ==135852== by 0x40010BD: UnknownInlinedFun (lib547.c:88) ==135852== by 0x40010BD: main (first.c:196) ==135852== ==135852== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135852== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135852== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135852== by 0x4A93FA5: tsearch (tsearch.c:290) ==135852== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135852== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135852== by 0x49A63F0: CMD (33792): ../libtool --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/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:35779 testuser:testpass > log/4/stdout548 2> log/4/stderr548 add_alias (gconv_conf.c:178) ==135852== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135852== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135852== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135852== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135852== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135852== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135852== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135852== by 0x49B1142: setlocale (setlocale.c:337) ==135852== by 0x4001054: main (first.c:135) ==135852== ==135852== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135852== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135852== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135852== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135852== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135852== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135852== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135852== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135852== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135852== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135852== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135852== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135852== by 0x49B1142: setlocale (setlocale.c:337) ==135852== by 0x4001054: main (first.c:135) ==135852== === End of file valgrind547 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/4/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:35779 testuser:testpass > log/4/stdout548 2> log/4/stderr548 548: 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 548 === Start of file commands.log ../libtool --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/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:35779 testuser:testpass > log/4/stdout548 2> log/4/stderr548 === End of file commands.log === Start of file http_server.log 20:54:59.237591 ====> Client connect 20:54:59.237617 accept_connection 3 returned 4 20:54:59.237631 accept_connection 3 returned 0 20:54:59.237641 Read 93 bytes 20:54:59.237649 Process 93 bytes request 20:54:59.237660 Got request: GET /verifiedserver HTTP/1.1 20:54:59.237666 Are-we-friendly question received 20:54:59.237683 Wrote request (93 bytes) input to log/4/server.input 20:54:59.237694 Identifying ourselves as friends 20:54:59.237737 Response sent (57 bytes) and written to log/4/server.response 20:54:59.237744 special request received, no persistency 20:54:59.237751 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === 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 ==135907== ==135907== Process terminating with default action of signal 4 (SIGILL) ==135907== Illegal opcode at address 0x491A6B3 ==135907== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135907== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135907== by 0x491A6B3: Curl_open (url.c:538) ==135907== by 0x48952AF: curl_easy_init (easy.c:377) ==135907== by 0x40010A3: UnknownInlinedFun (lib547.c:88) ==135907== by 0x40010A3: main (first.c:196) ==135907== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135907== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135907== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135907== by 0x4A93FA5: tsearch (tsearch.c:290) ==135907== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135907== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135907== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135907== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135907== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135907== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135907== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135907== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135907== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135907== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135907== by 0x49B1142: setlocale (setlocale.c:337) ==135907== by 0x4001041: main (first.c:135) ==135907== ==135907== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135907== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135907== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135907== by 0x4A93FA5: tsearch (tsearch.c:290) ==135907== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135907== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135907== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135907== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135907== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135907== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135907== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135907== by 0x49B1142: setlocale (setlocale.c:337) ==135907== by 0x4001041: main (first.c:135) ==135907== ==135907== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135907== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135907== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135907== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135907== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135907== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135907== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135907== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135907== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135907== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135907== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135907== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135907== by 0x49B1142: setlocale (setlocale.c:337) ==135907== by 0x4001041: main (first.c:135) ==135907== ==135907== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135907== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135907== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135907== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135907== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135907== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135907== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135907== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135907== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135907== by 0x49B1142: setlocale (setlocale.c:337) ==135907== by 0x4001041: main (first.c:135) ==135907== ==135907== 5,456 bytes in 1 blocks are defiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:45957 > log/24/stdout549 2> log/24/stderr549 nitely lost in loss record 648 of 655 ==135907== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135907== by 0x491A603: Curl_open (url.c:517) ==135907== by 0x48952AF: curl_easy_init (easy.c:377) ==135907== by 0x40010A3: UnknownInlinedFun (lib547.c:88) ==135907== by 0x40010A3: main (first.c:196) ==135907== ==135907== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135907== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135907== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135907== by 0x4A93FA5: tsearch (tsearch.c:290) ==135907== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135907== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135907== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135907== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135907== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135907== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135907== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135907== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135907== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135907== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135907== by 0x49B1142: setlocale (setlocale.c:337) ==135907== by 0x4001041: main (first.c:135) ==135907== ==135907== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135907== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135907== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135907== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135907== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135907== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135907== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135907== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135907== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135907== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135907== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135907== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135907== by 0x49B1142: setlocale (setlocale.c:337) ==135907== by 0x4001041: main (first.c:135) ==135907== === End of file valgrind548 CMD (33792): ../libtool --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/valgrind546 ./libtest/lib533 ftp://127.0.0.1:45405/path/546 ftp://127.0.0.1:45405/path/546 > log/11/stdout546 2> log/11/stderr546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind524 ./libtest/lib524 ftp://127.0.0.1:44763/path/to/ > log/19/stdout524 2> log/19/stderr524 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/24/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:45957 > log/24/stdout549 2> log/24/stderr549 549: stdout FAILED: --- log/24/check-expected 2025-06-04 20:54:59.706365308 +0000 +++ log/24/check-generated 2025-06-04 20:54:59.706365308 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/24/ dir after test 549 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:45957 > log/24/stdout549 2> log/24/stderr549 === End of file commands.log === Start of file http_server.log 20:54:59.245615 ====> Client connect 20:54:59.245636 accept_connection 3 returned 4 20:54:59.245648 accept_connection 3 returned 0 20:54:59.245658 Read 93 bytes 20:54:59.245666 Process 93 bytes request 20:54:59.245674 Got request: GET /verifiedserver HTTP/1.1 20:54:59.245681 Are-we-friendly question received 20:54:59.245702 Wrote request (93 bytes) input to log/24/server.input 20:54:59.245713 Identifying ourselves as friends 20:54:59.245762 Response sent (57 bytes) and written to log/24/server.response 20:54:59.245769 special request received, no persistency 20:54:59.245776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==135921== ==135921== Process terminating with default action of signal 4 (SIGILL) ==135921== Illegal opcode at address 0x491A6B3 ==135921== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==135921== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==135921== by 0x491A6B3: Curl_open (url.c:538) ==135921== by 0x48952AF: curl_easy_init (easy.c:377) ==135921== by 0x40010A9: UnknownInlinedFun (lib549.c:43) ==135921== by 0x40010A9: main (first.c:196) ==135921== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==135921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135921== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135921== by 0x4A93FA5: tsearch (tsearch.c:290) ==135921== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135921== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135921== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135921== by 0x49B1142: setlocale (setlocale.c:337) ==135921== by 0x4001047: main (first.c:135) ==135921== ==135921== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==135921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135921== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135921== by 0x4A93FA5: tsearch (tsearch.c:290) ==135921== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135921== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135921== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135921== by 0x49B1142: setlocale (setlocale.c:337) ==135921== by 0x4001047: main (first.c:135) ==135921== ==135921== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==135921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135921== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135921== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==135921== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==135921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135921== by 0x49B1142: setlocale (setlocale.c:337) ==135921== by 0x4001047: main (first.c:135) ==135921== ==135921== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==135921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135921== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135921== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==135921== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==135921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135921== by 0x49B1142: setlocale (setlocale.c:337) ==135921== by 0x4001047: main (first.c:135) ==135921== ==135921== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==135921== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==135921== by 0x491A603: Curl_open (url.c:517) ==135921== by 0x48952AF: curl_easy_init (easy.c:377) ==135921== by 0x40010A9: UnknownInlinedFun (lib549.c:43) ==135921== by 0x40010A9: main (first.c:196) ==135921== ==135921== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==135921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135921== by 0x4A93FA5: __tsearch (tsearch.c:337) ==135921== by 0x4A93FA5: tsearch (tsearch.c:290) ==135921== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==135921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135921== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135921== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135921== by 0x49B1142: setlocale (setlocale.c:337) ==135921== by 0x4001047: main (first.c:135) ==135921== ==135921== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==135921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==135921== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==135921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==135921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==135921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==135921== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==135921== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==135921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==135921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==135921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==135921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==135921== by 0x49B1142: setlocale (setlocale.c:337) ==135921== by 0x4001047: main (first.c:135) ==135921== === End of file valgrind549 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/11/valgrind546 ./libtest/lib533 ftp://127.0.0.1:45405/path/546 ftp://127.0.0.1:45405/path/546 > log/11/stdout546 2> log/11/stderr546 546: stdout FAILED: --- log/11/check-expected 2025-06-04 20:54:59.713031975 +0000 +++ log/11/check-generated 2025-06-04 20:54:59.713031975 +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/11/ 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 commands.log ../libtool --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/valgrind546 ./libtest/lib533 ftp://127.0.0.1:45405/path/546 ftp://127.0.0.1:45405/path/546 > log/11/stdout546 2> log/11/stderr546 === End of file commands.log === Start of file ftp_server.log 20:54:58.995535 ====> Client connect 20:54:58.995676 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:58.995890 < "USER anonymous" 20:54:58.995916 > "331 We are happy you popped in![CR][LF]" 20:54:58.996164 < "PASS ftp@example.com" 20:54:58.996210 > "230 Welcome you silly person[CR][LF]" 20:54:58.996384 < "PWD" 20:54:58.996422 > "257 "/" is current directory[CR][LF]" 20:54:58.996590 < "EPSV" 20:54:58.996630 ====> Passive DATA channel requested by client 20:54:58.996644 DATA sockfilt for passive data channel starting... 20:54:58.998108 DATA sockfilt for passive data channel started (pid 135838) 20:54:58.998210 DATA sockfilt for passive data channel listens on port 44019 20:54:58.998272 > "229 Entering Passive Mode (|||44019|)[LF]" 20:54:58.998296 Client has been notified that DATA conn will be accepted on port 44019 20:54:58.998496 Client connects to port 44019 20:54:58.998521 ====> Client established passive DATA connection on port 44019 20:54:58.998609 < "TYPE I" 20:54:58.998644 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:58.998820 < "SIZE verifiedserver" 20:54:58.998860 > "213 18[CR][LF]" 20:54:58.999200 < "RETR verifiedserver" 20:54:58.999246 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:58.999337 =====> Closing passive DATA connection... 20:54:58.999349 Server disconnects passive DATA connection 20:54:58.999427 Server disconnected passive DATA connection 20:54:58.999450 DATA sockfilt for passive data channel quits (pid 135838) 20:54:58.999596 DATA sockfilt for passive data channel quit (pid 135838) 20:54:58.999610 =====> Closed passive DATA connection 20:54:58.999630 > "226 File transfer complete[CR][LF]" 20:54:59.042311 < "QUIT" 20:54:59.042358 > "221 bye bye baby[CR][LF]" 20:54:59.042704 MAIN sockfilt said DISC 20:54:59.042726 ====> Client disconnected 20:54:59.042785 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:59.216960 ====> Client connect 20:54:59.217190 Received DATA (on stdin) 20:54:59.217201 > 160 bytes data, server => client 20:54:59.217209 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:59.217217 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:59.217224 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:59.217287 < 16 bytes data, client => server 20:54:59.217296 'USER anonymous\r\n' 20:54:59.217424 Received DATA (on stdin) 20:54:59.217433 > 33 bytes data, server => client 20:54:59.217440 '331 We are happy you popped in!\r\n' 20:54:59.217514 < 22 bytes data, client => server 20:54:59.217540 'PASS ftp@example.com\r\n' 20:54:59.217727 Received DATA (on stdin) 20:54:59.217740 > 30 bytes data, server => client 20:54:59.217751 '230 Welcome you silly person\r\n' 20:54:59.217805 < 5 bytes data, client => server 20:54:59.217825 'PWD\r\n' 20:54:59.217914 Received DATA (on stdin) 20:54:59.217924 > 30 bytes data, server => client 20:54:59.217934 '257 "/" is current directory\r\n' 20:54:59.217981 < 6 bytes data, client => server 20:54:59.217991 'EPSV\r\n' 20:54:59.219769 Received DATA (on stdin) 20:54:59.219784 > 38 bytes data, server => client 20:54:59.219795 '229 Entering Passive Mode (|||44019|)\n' 20:54:59.219901 < 8 bytes data, client => server 20:54:59.219922 'TYPE I\r\n' 20:54:59.220139 Received DATA (on stdin) 20:54:59.220153 > 33 bytes data, server => client 20:54:59.220163 '200 I modify TYPE as you wanted\r\n' 20:54:59.220233 < 21 bytes data, client => server 20:54:59.220245 'SIZE verifiedserver\r\n' 20:54:59.220373 Received DATA (on stdin) 20:54:59.220384 > 8 bytes data, server => client 20:54:59.220394 '213 18\r\n' 20:54:59.220442 < 21 bytes data, client => server 20:54:59.220457 'RETR verifiedserver\r\n' 20:54:59.220748 Received DATA (on stdin) 20:54:59.220764 > 29 bytes data, server => client 20:54:59.220780 '150 Binary junk (18 bytes).\r\n' 20:54:59.221138 Received DATA (on stdin) 20:54:59.221148 > 28 bytes data, server => client 20:54:59.221156 '226 File transfer complete\r\n' 20:54:59.263664 < 6 bytes data, client => server 20:54:59.263688 'QUIT\r\n' 20:54:59.263867 Received DATA (on stdin) 20:54:59.263876 > 18 bytes data, server => client 20:54:59.263883 '221 bye bye baby\r\n' 20:54:59.264171 ====> Client disconnect 20:54:59.264236 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:58.219361 Running IPv4 version 20:54:58.219403 Listening on port 44019 20:54:58.219435 Wrote pid 135838 to log/11/server/ftp_sockdata.pid 20:54:58.219571 Received PING (on stdin) 20:54:58.219641 Received PORT (on stdin) 20:54:58.219962 ====> Client connect 20:54:58.220788 Received DATA (on stdin) 20:54:58.220802 > 18 bytes data, server => client 20:54:58.220811 'WE ROOLZ: 110833\r\n' 20:54:58.220856 Received DISC (on stdin) 20:54:58.220871 ====> Client forcibly disconnected 20:54:58.220963 Received QUIT (on stdin) 20:54:58.220972 quits 20:54:58.221005 ============> 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:45405/path/546 === End of file stderr546 === Start of file valgrind546 ==136003== ==136003== Process terminating with default action of signal 4 (SIGILL) ==136003== Illegal opcode at address 0x491A6B3 ==136003== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136003== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136003== by 0x491A6B3: Curl_open (url.c:538) ==136003== by 0x48952AF: curl_easy_init (easy.c:377) ==136003== by 0x40012F1: test.part.0 (lib533.c:48) ==136003== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==136003== by 0x40010A5: main (first.c:196) ==136003== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136003== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136003== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136003== by 0x4A93FA5: tsearch (tsearch.c:290) ==136003== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136003== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136003== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136003== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136003== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136003== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136003== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136003== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136003== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136003== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136003== by 0x49B1142: setlocale (setlocale.c:337) ==136003== by 0x4001041: main (first.c:135) ==136003== ==136003== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136003== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136003== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136003== by 0x4A93FA5: tsearch (tsearch.c:290) ==136003== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136003== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136003== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136003== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136003== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136003== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136003== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136003== by 0x49B1142: setlocale (setlocale.c:337) ==136003== by 0x4001041: main (first.c:135) ==136003== ==136003== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136003== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136003== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136003== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136003== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136003== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136003== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136003== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136003== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136003== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136003== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136003== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136003== by 0x49B1142: setlocale (setlocale.c:337) ==136003== by 0x4001041: main (first.c:135) ==136003== ==136003== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136003== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136003== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136003== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136003== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136003== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136003== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136003== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136003== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136003== by 0x49B1142: setlocale (setlocale.c:337) ==136003== by 0x4001041: main (first.c:135) ==136003== ==136003== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136003== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136003== by 0x491A603: Curl_open (url.c:517) ==136003== by 0x48952AF: curl_easy_init (easy.c:377) ==136003== by 0x40012F1: test.part.0 (lib533.c:48) ==136003== by 0x40010A5: UnknownInlinedFun (lib533.c:46) ==136003== by 0x40010A5: main (first.c:196) ==136003== ==136003== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136003== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136003== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136003== by 0x4A93FA5: tsearch (tsearch.c:290) ==136003== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136003== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136003== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136003== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136003== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136003== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136003== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136003== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136003== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136003== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136003== by 0x49B1142: setlocale (setlocale.c:337) ==136003== by 0x4001041: main (first.c:135) ==136003== ==136003== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136003== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136003== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136003== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136003== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136003== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136003== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136003== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136003== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136003== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136003== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136003== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136003== by 0x49B1142: setlocale (setlocale.c:337) ==136003== by 0x4001041: main (first.c:135) ==136003== === End of file valgrind546 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/19/valgrind524 ./libtest/lib524 ftp://127.0.0.1:44763/path/to/ > log/19/stdout524 2> log/19/stderr524 524: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind524 ./libtest/lib524 ftp://127.0.0.1:44763/path/to/ > log/19/stdout524 2> log/19/stderr524 === End of file commands.log === Start of file ftp_server.log 20:54:44.321211 ====> Client connect 20:54:44.321371 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:44.321659 < "USER anonymous" 20:54:44.321711 > "331 We are happy you popped in![CR][LF]" 20:54:44.321937 < "PASS ftp@example.com" 20:54:44.321969 > "230 Welcome you silly person[CR][LF]" 20:54:44.322141 < "PWD" 20:54:44.322182 > "257 "/" is current directory[CR][LF]" 20:54:44.322363 < "EPSV" 20:54:44.322384 ====> Passive DATA channel requested by client 20:54:44.322396 DATA sockfilt for passive data channel starting... 20:54:44.324100 DATA sockfilt for passive data channel started (pid 134260) 20:54:44.324221 DATA sockfilt for passive data channel listens on port 35749 20:54:44.324266 > "229 Entering Passive Mode (|||35749|)[LF]" 20:54:44.324284 Client has been notified that DATA conn will be accepted on port 35749 20:54:44.324482 Client connects to port 35749 20:54:44.324510 ====> Client established passive DATA connection on port 35749 20:54:44.324586 < "TYPE I" 20:54:44.324612 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:44.324754 < "SIZE verifiedserver" 20:54:44.324792 > "213 18[CR][LF]" 20:54:44.324933 < "RETR verifiedserver" 20:54:44.324967 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:44.325062 =====> Closing passive DATA connection... 20:54:44.325083 Server disconnects passive DATA connection 20:54:44.325236 Server disconnected passive DATA connection 20:54:44.325263 DATA sockfilt for passive data channel quits (pid 134260) 20:54:44.325517 DATA sockfilt for passive data channel quit (pid 134260) 20:54:44.325543 =====> Closed passive DATA connection 20:54:44.325578 > "226 File transfer complete[CR][LF]" 20:54:44.369069 < "QUIT" 20:54:44.369124 > "221 bye bye baby[CR][LF]" 20:54:44.369952 MAIN sockfilt said DISC 20:54:44.369978 ====> Client disconnected 20:54:44.370052 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:44.542602 ====> Client connect 20:54:44.542894 Received DATA (on stdin) 20:54:44.542908 > 160 bytes data, server => client 20:54:44.542920 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:44.542931 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:44.542941 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:44.543007 < 16 bytes data, client => server 20:54:44.543019 'USER anonymous\r\n' 20:54:44.543233 Received DATA (on stdin) 20:54:44.543251 > 33 bytes data, server => client 20:54:44.543262 '331 We are happy you popped in!\r\n' 20:54:44.543324 < 22 bytes data, client => server 20:54:44.543340 'PASS ftp@example.com\r\n' 20:54:44.543485 Received DATA (on stdin) 20:54:44.543496 > 30 bytes data, server => client 20:54:44.543507 '230 Welcome you silly person\r\n' 20:54:44.543572 < 5 bytes data, client => server 20:54:44.543584 'PWD\r\n' 20:54:44.543699 Received DATA (on stdin) 20:54:44.543714 > 30 bytes data, server => client 20:54:44.543725 '257 "/" is current directory\r\n' 20:54:44.543815 < 6 bytes data, client => server 20:54:44.543837 'EPSV\r\n' 20:54:44.545802 Received DATA (on stdin) 20:54:44.545815 > 38 bytes data, server => client 20:54:44.545826 '229 Entering Passive Mode (|||35749|)\n' 20:54:44.545941 < 8 bytes data, client => server 20:54:44.545954 'TYPE I\r\n' 20:54:44.546126 Received DATA (on stdin) 20:54:44.546138 > 33 bytes data, server => client 20:54:44.546149 '200 I modify TYPE as you wanted\r\n' 20:54:44.546201 < 21 bytes data, client => server 20:54:44.546220 'SIZE verifiedserver\r\n' 20:54:44.546309 Received DATA (on stdin) 20:54:44.546322 > 8 bytes data, server => client 20:54:44.546332 '213 18\r\n' 20:54:44.546381 < 21 bytes data, client => server 20:54:44.546398 'RETR verifiedserver\r\n' 20:54:44.546599 Received DATA (on stdin) 20:54:44.546612 > 29 bytes data, server => client 20:54:44.546623 '150 Binary junk (18 bytes).\r\n' 20:54:44.547092 Received DATA (on stdin) 20:54:44.547105 > 28 bytes data, server => client 20:54:44.547116 '226 File transfer complete\r\n' 20:54:44.590385 < 6 bytes data, client => server 20:54:44.590416 'QUIT\r\n' 20:54:44.590640 Received DATA (on stdin) 20:54:44.590651 > 18 bytes data, server => client 20:54:44.590661 '221 bye bye baby\r\n' 20:54:44.591418 ====> Client disconnect 20:54:44.591563 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:44.545430 Running IPv4 version 20:54:44.545492 Listening on port 35749 20:54:44.545531 Wrote pid 134260 to log/19/server/ftp_sockdata.pid 20:54:44.545550 Received PING (on stdin) 20:54:44.545649 Received PORT (on stdin) 20:54:44.545943 ====> Client connect 20:54:44.546493 Received DATA (on stdin) 20:54:44.546508 > 18 bytes data, server => client 20:54:44.546519 'WE ROOLZ: 110642\r\n' 20:54:44.546598 Received DISC (on stdin) 20:54:44.546614 ====> Client forcibly disconnected 20:54:44.546790 Received QUIT (on stdin) 20:54:44.546803 quits 20:54:44.546877 ============> 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:44763/path/to/ === End of file stderr524 === Start of file valgrind524 ==134316== ==134316== Process terminating with default action of signal 4 (SIGILL) ==134316== Illegal opcode at address 0x491A6B3 ==134316== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134316== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134316== by 0x491A6B3: Curl_open (url.c:538) ==134316== by 0x48952AF: curl_easy_init (easy.c:377) ==134316== by 0x4001081: UnknownInlinedFun (lib524.c:38) ==134316== by 0x4001081: main (first.c:196) ==134316== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134316== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134316== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134316== by 0x4A93FA5: tsearch (tsearch.c:290) ==134316== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134316== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134316== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134316== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134316== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134316== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134316== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134316== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134316== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134316== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134316== by 0x49B1142: setlocale (setlocale.c:337) ==134316== by 0x4001041: main (first.c:135) ==134316== ==134316== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134316== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134316== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134316== by 0x4A93FA5: tsearch (tsearch.c:290) ==134316== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134316== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134316== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134316== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134316== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134316== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134316== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134316== by 0x49B1142: setlocale (setlocale.c:337) ==134316== by 0x4001041: main (first.c:135) ==134316== ==134316== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134316== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134316== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134316== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134316== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134316== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134316== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134316== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134316== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134316== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134316== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134316== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134316== by 0x49B1142: setlocale (setlocale.c:337) ==134316== by 0x4001041: main (first.c:135) ==134316== ==134316== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134316== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134316== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134316== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134316== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134316== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134316== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134316== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134316== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134316== by 0x49B1142: setlocale (setlocale.c:337) ==134316== by 0x4001041: main (first.c:135) ==134316== ==134316== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134316== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134316== by 0x491A603: Curl_open (url.c:517) ==134316== by 0x48952AF: curl_easy_init (easy.c:377) ==134316== by 0x4001081: UnknownInlinedFun (lib524.c:38) ==134316== by 0x4001081: main (first.c:196) ==134316== ==134316== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134316== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134316== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134316== by 0x4A93FA5: tsearch (tsearch.c:290) ==134316== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134316== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134316== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134316== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134316== by 0x49A6775: 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/12/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:33337 ascii > log/12/stdout550 2> log/12/stderr550 arseconfdir (gconv_parseconfdir.h:170) ==134316== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134316== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134316== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134316== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134316== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134316== by 0x49B1142: setlocale (setlocale.c:337) ==134316== by 0x4001041: main (first.c:135) ==134316== ==134316== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134316== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134316== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134316== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134316== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134316== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134316== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134316== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134316== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134316== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134316== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134316== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134316== by 0x49B1142: setlocale (setlocale.c:337) ==134316== by 0x4001041: main (first.c:135) ==134316== === End of file valgrind524 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/12/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:33337 ascii > log/12/stdout550 2> log/12/stderr550 550: stdout FAILED: --- log/12/check-expected 2025-06-04 20:54:59.943031981 +0000 +++ log/12/check-generated 2025-06-04 20:54:59.943031981 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/12/ dir after test 550 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:33337 ascii > log/12/stdout550 2> log/12/stderr550 === End of file commands.log === Start of file http_server.log 20:54:59.488101 ====> Client connect 20:54:59.488124 accept_connection 3 returned 4 20:54:59.488137 accept_connection 3 returned 0 20:54:59.488147 Read 93 bytes 20:54:59.488155 Process 93 bytes request 20:54:59.488165 Got request: GET /verifiedserver HTTP/1.1 20:54:59.488172 Are-we-friendly question received 20:54:59.488189 Wrote request (93 bytes) input to log/12/server.input 20:54:59.488201 Identifying ourselves as friends 20:54:59.488239 Response sent (57 bytes) and written to log/12/server.response 20:54:59.488246 special request received, no persistency 20:54:59.488252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==136086== ==136086== Process terminating with default action of signal 4 (SIGILL) ==136086== Illegal opcode at address 0x491A6B3 ==136086== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136086== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136086== by 0x491A6B3: Curl_open (url.c:538) ==136086== by 0x48952AF: curl_easy_init (easy.c:377) ==136086== by 0x40010A9: UnknownInlinedFun (lib549.c:43) ==136086== by 0x40010A9: main (first.c:196) ==136086== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136086== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136086== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136086== by 0x4A93FA5: tsearch (tsearch.c:290) ==136086== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136086== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136086== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136086== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136086== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136086== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136086== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136086== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136086== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136086== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136086== by 0x49B1142: setlocale (setlocale.c:337) ==136086== by 0x4001047: main (first.c:135) ==136086== ==136086== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136086== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136086== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136086== by 0x4A93FA5: tsearch (tsearch.c:290) ==136086== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136086== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136086== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136086== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136086== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136086== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136086== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136086== by 0x49B1142: setlocale (setlocale.c:337) ==136086== by 0x4001047: main (first.c:135) ==136086== ==136086== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136086== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136086== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136086== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136086== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136086== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136086== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136086== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136086== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136086== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136086== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136086== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136086== by 0x49B1142: setlocale (setlocale.c:337) ==136086== by 0x4001047: main (first.c:135) ==136086== ==136086== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136086== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136086== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136086== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136086== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136086== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136086== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136086== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136086== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136086== by 0x49B1142: setlocale (setlocale.c:337) ==136086== by 0x4001047: main (first.c:135) ==136086== ==136086== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136086== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136086== by 0x491A603: Curl_open (url.c:517) ==136086== by 0x48952AF: curl_easy_init (easy.c:377) ==136086== by 0x40010A9: UnknownInlinedFun (lib549.c:43) ==136086== by 0x40010A9: main (first.c:196) ==136086== ==136086== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136086== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136086== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136086== by 0x4A93FA5: tsearch (tsearch.c:290) ==136086== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136086== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136086== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136086== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136086== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136086== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136086== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136086== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136086== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136086== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136086== by 0x49B1142: setlocale (setlocale.c:337) ==136086== by 0x4001047: main (first.c:135) ==136086== ==136086== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136086== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136086== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:35207 s1lly:pers0n > log/17/stdout551 2> log/17/stderr551 by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136086== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136086== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136086== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136086== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136086== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136086== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136086== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136086== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136086== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136086== by 0x49B1142: setlocale (setlocale.c:337) ==136086== by 0x4001047: main (first.c:135) ==136086== === End of file valgrind550 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/17/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:35207 s1lly:pers0n > log/17/stdout551 2> log/17/stderr551 551: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:35207 s1lly:pers0n > log/17/stdout551 2> log/17/stderr551 === End of file commands.log === Start of file http_server.log 20:54:59.509915 ====> Client connect 20:54:59.509939 accept_connection 3 returned 4 20:54:59.509952 accept_connection 3 returned 0 20:54:59.509962 Read 93 bytes 20:54:59.509969 Process 93 bytes request 20:54:59.509981 Got request: GET /verifiedserver HTTP/1.1 20:54:59.509988 Are-we-friendly question received 20:54:59.510005 Wrote request (93 bytes) input to log/17/server.input 20:54:59.510017 Identifying ourselves as friends 20:54:59.510055 Response sent (57 bytes) and written to log/17/server.response 20:54:59.510062 special request received, no persistency 20:54:59.510069 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === 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 ==136147== ==136147== Process terminating with default action of signal 4 (SIGILL) ==136147== Illegal opcode at address 0x491A6B3 ==136147== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136147== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136147== by 0x491A6B3: Curl_open (url.c:538) ==136147== by 0x48952AF: curl_easy_init (easy.c:377) ==136147== by 0x40010BD: UnknownInlinedFun (lib547.c:88) ==136147== by 0x40010BD: main (first.c:196) ==136147== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136147== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136147== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136147== by 0x4A93FA5: tsearch (tsearch.c:290) ==136147== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136147== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136147== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136147== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136147== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136147== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136147== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136147== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136147== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136147== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136147== by 0x49B1142: setlocale (setlocale.c:337) ==136147== by 0x4001054: main (first.c:135) ==136147== ==136147== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136147== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136147== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136147== by 0x4A93FA5: tsearch (tsearch.c:290) ==136147== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136147== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136147== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136147== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136147== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136147== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136147== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136147== by 0x49B1142: setlocale (setlocale.c:337) ==136147== by 0x4001054: main (first.c:135) ==136147== ==136147== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136147== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136147== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136147== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136147== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136147== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136147== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136147== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136147== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136147== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136147== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136147== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136147== by 0x49B1142: setlocale (setlocale.c:337) ==136147== by 0x4001054: main (first.c:135) ==136147== ==136147== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136147== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136147== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136147== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136147== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136147== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136147== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136147== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136147== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136147== by 0x49B1142: setlocale (setlocale.c:337) ==136147== by 0x4001054: main (first.c:135) ==136147== ==136147== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136147== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136147== by 0x491A603: Curl_open (url.c:517) ==136147== by 0x48952AF: curl_easy_init (easy.c:377) ==136147== by 0x40010BD: UnknownInlinedFun (lib547.c:88) ==136147== by 0x40010BD: main (first.c:196) ==136147== ==136147== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136147== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136147== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136147== by 0x4A93FA5: tsearch (tsearch.c:290) ==136147== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136147== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136147== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136147== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136147== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136147== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136147== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136147== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136147== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136147== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136147== by 0x49B1142: setlocale (setlocale.c:337) ==136147== by 0x4001054: main (first.c:135) ==136147== ==136147== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136147== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136147== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136147== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136147== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136147== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136147== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136147== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136147== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136147== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136147== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136147== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136147== by 0x49B1142: setlocale (setlocale.c:337) ==136147== by 0x4001054: main (first.c:135) ==136147== === End of file valgrind551 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/20/valgrind513 ./libtest/lib513 http://127.0.0.1:41293/513 > log/20/stdout513 2> log/20/stderr513 lib513 returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/20/ dir after test 513 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind513 ./libtest/lib513 http://127.0.0.1:41293/513 > log/20/stdout513 2> log/20/stderr513 === End of file commands.log === Start of file http_server.log 20:54:44.126607 ====> Client connect 20:54:44.126636 accept_connection 3 returned 4 20:54:44.126653 accept_connection 3 returned 0 20:54:44.126665 Read 93 bytes 20:54:44.126674 Process 93 bytes request 20:54:44.126686 Got request: GET /verifiedserver HTTP/1.1 20:54:44.126694 Are-we-friendly question received 20:54:44.126714 Wrote request (93 bytes) input to log/20/server.input 20:54:44.126728 Identifying ourselves as friends 20:54:44.126779 Response sent (57 bytes) and written to log/20/server.response 20:54:44.126788 special request received, no persistency 20:54:44.126797 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:41293/513 === End of file stderr513 === Start of file valgrind513 ==133481== ==133481== Process terminating with default action of signal 4 (SIGILL) ==133481== Illegal opcode at address 0x491A6B3 ==133481== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133481== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133481== by 0x491A6B3: Curl_open (url.c:538) ==133481== by 0x48952AF: curl_easy_init (easy.c:377) ==133481== by 0x4001081: UnknownInlinedFun (lib513.c:47) ==133481== by 0x4001081: main (first.c:196) ==133481== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133481== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133481== by 0x4A93FA5: tsearch (tsearch.c:290) ==133481== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133481== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133481== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133481== by 0x49B1142: setlocale (setlocale.c:337) ==133481== by 0x4001041: main (first.c:135) ==133481== ==133481== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133481== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133481== by 0x4A93FA5: tsearch (tsearch.c:290) ==133481== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133481== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133481== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133481== by 0x49B1142: setlocale (setlocale.c:337) ==133481== by 0x4001041: main (first.c:135) ==133481== ==133481== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133481== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133481== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133481== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133481== by 0x49B1142: setlocale (setlocale.c:337) ==133481== by 0x4001041: main (first.c:135) ==133481== ==133481== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133481== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133481== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133481== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133481== by 0x49B1142: setlocale (setlocale.c:337) ==133481== by 0x4001041: main (first.c:135) ==133481== ==133481== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133481== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133481== by 0x491A603: Curl_open (url.c:517) ==133481== by 0x48952AF: curl_easy_init (easy.c:377) ==133481== by 0x4001081: 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/10/valgrind520 ./libtest/lib520 ftp://127.0.0.1:41053/520 > log/10/stdout520 2> log/10/stderr520 (lib513.c:47) ==133481== by 0x4001081: main (first.c:196) ==133481== ==133481== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133481== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133481== by 0x4A93FA5: tsearch (tsearch.c:290) ==133481== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133481== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133481== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133481== by 0x49B1142: setlocale (setlocale.c:337) ==133481== by 0x4001041: main (first.c:135) ==133481== ==133481== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133481== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133481== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133481== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133481== by 0x49B1142: setlocale (setlocale.c:337) ==133481== by 0x4001041: main (first.c:135) ==133481== === End of file valgrind513 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/10/valgrind520 ./libtest/lib520 ftp://127.0.0.1:41053/520 > log/10/stdout520 2> log/10/stderr520 520: 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 520 === Start of file commands.log ../libtool --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/valgrind520 ./libtest/lib520 ftp://127.0.0.1:41053/520 > log/10/stdout520 2> log/10/stderr520 === End of file commands.log === Start of file ftp_server.log 20:54:44.246470 ====> Client connect 20:54:44.246628 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:44.246874 < "USER anonymous" 20:54:44.246908 > "331 We are happy you popped in![CR][LF]" 20:54:44.247069 < "PASS ftp@example.com" 20:54:44.247090 > "230 Welcome you silly person[CR][LF]" 20:54:44.247215 < "PWD" 20:54:44.247244 > "257 "/" is current directory[CR][LF]" 20:54:44.247454 < "EPSV" 20:54:44.247489 ====> Passive DATA channel requested by client 20:54:44.247502 DATA sockfilt for passive data channel starting... 20:54:44.249035 DATA sockfilt for passive data channel started (pid 133986) 20:54:44.249127 DATA sockfilt for passive data channel listens on port 38631 20:54:44.249166 > "229 Entering Passive Mode (|||38631|)[LF]" 20:54:44.249183 Client has been notified that DATA conn will be accepted on port 38631 20:54:44.249374 Client connects to port 38631 20:54:44.249398 ====> Client established passive DATA connection on port 38631 20:54:44.249454 < "TYPE I" 20:54:44.249478 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:44.249644 < "SIZE verifiedserver" 20:54:44.249693 > "213 18[CR][LF]" 20:54:44.249880 < "RETR verifiedserver" 20:54:44.249916 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:44.249995 =====> Closing passive DATA connection... 20:54:44.250012 Server disconnects passive DATA connection 20:54:44.250122 Server disconnected passive DATA connection 20:54:44.250153 DATA sockfilt for passive data channel quits (pid 133986) 20:54:44.250380 DATA sockfilt for passive data channel quit (pid 133986) 20:54:44.250398 =====> Closed passive DATA connection 20:54:44.250423 > "226 File transfer complete[CR][LF]" 20:54:44.292435 < "QUIT" 20:54:44.292487 > "221 bye bye baby[CR][LF]" 20:54:44.292610 MAIN sockfilt said DISC 20:54:44.292630 ====> Client disconnected 20:54:44.292694 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:43.467888 ====> Client connect 20:54:43.468156 Received DATA (on stdin) 20:54:43.468177 > 160 bytes data, server => client 20:54:43.468189 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:43.468200 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:43.468210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:43.468276 < 16 bytes data, client => server 20:54:43.468292 'USER anonymous\r\n' 20:54:43.468424 Received DATA (on stdin) 20:54:43.468439 > 33 bytes data, server => client 20:54:43.468450 '331 We are happy you popped in!\r\n' 20:54:43.468502 < 22 bytes data, client => server 20:54:43.468513 'PASS ftp@example.com\r\n' 20:54:43.468601 Received DATA (on stdin) 20:54:43.468612 > 30 bytes data, server => client 20:54:43.468622 '230 Welcome you silly person\r\n' 20:54:43.468669 < 5 bytes data, client => server 20:54:43.468686 'PWD\r\n' 20:54:43.468757 Received DATA (on stdin) 20:54:43.468771 > 30 bytes data, server => client 20:54:43.468781 '257 "/" is current directory\r\n' 20:54:43.468843 < 6 bytes data, client => server 20:54:43.468856 'EPSV\r\n' 20:54:43.470699 Received DATA (on stdin) 20:54:43.470712 > 38 bytes data, server => client 20:54:43.470722 '229 Entering Passive Mode (|||38631|)\n' 20:54:43.470839 < 8 bytes data, client => server 20:54:43.470850 'TYPE I\r\n' 20:54:43.470988 Received DATA (on stdin) 20:54:43.470998 > 33 bytes data, server => client 20:54:43.471008 '200 I modify TYPE as you wanted\r\n' 20:54:43.471053 < 21 bytes data, client => server 20:54:43.471063 'SIZE verifiedserver\r\n' 20:54:43.471214 Received DATA (on stdin) 20:54:43.471230 > 8 bytes data, server => client 20:54:43.471240 '213 18\r\n' 20:54:43.471306 < 21 bytes data, client => server 20:54:43.471321 'RETR verifiedserver\r\n' 20:54:43.471529 Received DATA (on stdin) 20:54:43.471543 > 29 bytes data, server => client 20:54:43.471553 '150 Binary junk (18 bytes).\r\n' 20:54:43.471929 Received DATA (on stdin) 20:54:43.471944 > 28 bytes data, server => client 20:54:43.471955 '226 File transfer complete\r\n' 20:54:43.513805 < 6 bytes data, client => server 20:54:43.513837 'QUIT\r\n' 20:54:43.514007 Received DATA (on stdin) 20:54:43.514025 > 18 bytes data, server => client 20:54:43.514036 '221 bye bye baby\r\n' 20:54:43.514084 ====> Client disconnect 20:54:43.514162 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:44.470386 Running IPv4 version 20:54:44.470443 Listening on port 38631 20:54:44.470479 Wrote pid 133986 to log/10/server/ftp_sockdata.pid 20:54:44.470496 Received PING (on stdin) 20:54:44.470567 Received PORT (on stdin) 20:54:44.470815 ====> Client connect 20:54:44.471463 Received DATA (on stdin) 20:54:44.471475 > 18 bytes data, server => client 20:54:44.471484 'WE ROOLZ: 110827\r\n' 20:54:44.471559 Received DISC (on stdin) 20:54:44.471574 ====> Client forcibly disconnected 20:54:44.471673 Received QUIT (on stdin) 20:54:44.471682 quits 20:54:44.471737 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35661/ > log/14/stdout552 2> log/14/stderr552 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind553 ./libtest/lib553 http://127.0.0.1:34637/path/553 > log/18/stdout553 2> log/18/stderr553 REPLY MDTM 213 20030405060708 Testnum 520 === End of file server.cmd === Start of file stderr520 URL: ftp://127.0.0.1:41053/520 === End of file stderr520 === Start of file valgrind520 ==134183== ==134183== Process terminating with default action of signal 4 (SIGILL) ==134183== Illegal opcode at address 0x491A6B3 ==134183== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134183== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134183== by 0x491A6B3: Curl_open (url.c:538) ==134183== by 0x48952AF: curl_easy_init (easy.c:377) ==134183== by 0x4001081: UnknownInlinedFun (lib520.c:38) ==134183== by 0x4001081: main (first.c:196) ==134183== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134183== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134183== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134183== by 0x4A93FA5: tsearch (tsearch.c:290) ==134183== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134183== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134183== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134183== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134183== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134183== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134183== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134183== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134183== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134183== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134183== by 0x49B1142: setlocale (setlocale.c:337) ==134183== by 0x4001041: main (first.c:135) ==134183== ==134183== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134183== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134183== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134183== by 0x4A93FA5: tsearch (tsearch.c:290) ==134183== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134183== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134183== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134183== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134183== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134183== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134183== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134183== by 0x49B1142: setlocale (setlocale.c:337) ==134183== by 0x4001041: main (first.c:135) ==134183== ==134183== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134183== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134183== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134183== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134183== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134183== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134183== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134183== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134183== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134183== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134183== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134183== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134183== by 0x49B1142: setlocale (setlocale.c:337) ==134183== by 0x4001041: main (first.c:135) ==134183== ==134183== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134183== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134183== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134183== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134183== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134183== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134183== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134183== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134183== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134183== by 0x49B1142: setlocale (setlocale.c:337) ==134183== by 0x4001041: main (first.c:135) ==134183== ==134183== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134183== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134183== by 0x491A603: Curl_open (url.c:517) ==134183== by 0x48952AF: curl_easy_init (easy.c:377) ==134183== by 0x4001081: UnknownInlinedFun (lib520.c:38) ==134183== by 0x4001081: main (first.c:196) ==134183== ==134183== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134183== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134183== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134183== by 0x4A93FA5: tsearch (tsearch.c:290) ==134183== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134183== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134183== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134183== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134183== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134183== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134183== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134183== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134183== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134183== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134183== by 0x49B1142: setlocale (setlocale.c:337) ==134183== by 0x4001041: main (first.c:135) ==134183== ==134183== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134183== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134183== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134183== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134183== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134183== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134183== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134183== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134183== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134183== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134183== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134183== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134183== by 0x49B1142: setlocale (setlocale.c:337) ==134183== by 0x4001041: main (first.c:135) ==134183== === End of file valgrind520 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/14/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35661/ > log/14/stdout552 2> log/14/stderr552 552: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35661/ > log/14/stdout552 2> log/14/stderr552 === End of file commands.log === Start of file http_server.log 20:54:59.723934 ====> Client connect 20:54:59.723958 accept_connection 3 returned 4 20:54:59.723972 accept_connection 3 returned 0 20:54:59.723982 Read 93 bytes 20:54:59.723989 Process 93 bytes request 20:54:59.723999 Got request: GET /verifiedserver HTTP/1.1 20:54:59.724006 Are-we-friendly question received 20:54:59.724027 Wrote request (93 bytes) input to log/14/server.input 20:54:59.724043 Identifying ourselves as friends 20:54:59.724083 Response sent (57 bytes) and written to log/14/server.response 20:54:59.724090 special request received, no persistency 20:54:59.724097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === 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 ==136258== ==136258== Process terminating with default action of signal 4 (SIGILL) ==136258== Illegal opcode at address 0x492B6B3 ==136258== at 0x492B6B3: UnknownInlinedFun (string_fortified.h:59) ==136258== by 0x492B6B3: UnknownInlinedFun (request.c:46) ==136258== by 0x492B6B3: Curl_open (url.c:538) ==136258== by 0x48A62AF: curl_easy_init (easy.c:377) ==136258== by 0x40010CC: UnknownInlinedFun (lib552.c:180) ==136258== by 0x40010CC: main (first.c:196) ==136258== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136258== at 0x485B7A8: malloc (vg_replace_malloc.c:446) ==136258== by 0x4AA4FA5: __tsearch (tsearch.c:337) ==136258== by 0x4AA4FA5: tsearch (tsearch.c:290) ==136258== by 0x49B70F4: add_alias2.part.0 (gconv_conf.c:142) ==136258== by 0x49B73F0: add_alias2 (gconv_conf.c:176) ==136258== by 0x49B73F0: add_alias (gconv_conf.c:178) ==136258== by 0x49B73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136258== by 0x49B7555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136258== by 0x49B7555: __gconv_read_conf (gconv_conf.c:480) ==136258== by 0x4A27CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136258== by 0x4A27D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136258== by 0x49B6246: __gconv_compare_alias (gconv_db.c:692) ==136258== by 0x49BFA3D: _nl_find_locale (findlocale.c:298) ==136258== by 0x49C2142: setlocale (setlocale.c:337) ==136258== by 0x4001074: main (first.c:135) ==136258== ==136258== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136258== at 0x485B7A8: malloc (vg_replace_malloc.c:446) ==136258== by 0x4AA4FA5: __tsearch (tsearch.c:337) ==136258== by 0x4AA4FA5: tsearch (tsearch.c:290) ==136258== by 0x49B70F4: add_alias2.part.0 (gconv_conf.c:142) ==136258== by 0x49B774A: add_alias2 (gconv_conf.c:105) ==136258== by 0x49B774A: __gconv_read_conf (gconv_conf.c:508) ==136258== by 0x4A27CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136258== by 0x4A27D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136258== by 0x49B6246: __gconv_compare_alias (gconv_db.c:692) ==136258== by 0x49BFA3D: _nl_find_locale (findlocale.c:298) ==136258== by 0x49C2142: setlocale (setlocale.c:337) ==136258== by 0x4001074: main (first.c:135) ==136258== ==136258== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136258== at 0x485B7A8: malloc (vg_replace_malloc.c:446) ==136258== by 0x49B70A9: add_alias2.part.0 (gconv_conf.c:132) ==136258== by 0x49B73F0: add_alias2 (gconv_conf.c:176) ==136258== by 0x49B73F0: add_alias (gconv_conf.c:178) ==136258== by 0x49B73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136258== by 0x49B7555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136258== by 0x49B7555: __gconv_read_conf (gconv_conf.c:480) ==136258== by 0x4A27CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136258== by 0x4A27D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136258== by 0x49B6246: __gconv_compare_alias (gconv_db.c:692) ==136258== by 0x49BFA3D: _nl_find_locale (findlocale.c:298) ==136258== by 0x49C2142: setlocale (setlocale.c:337) ==136258== by 0x4001074: main (first.c:135) ==136258== ==136258== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136258== at 0x485B7A8: malloc (vg_replace_malloc.c:446) ==136258== by 0x49B70A9: add_alias2.part.0 (gconv_conf.c:132) ==136258== by 0x49B774A: add_alias2 (gconv_conf.c:105) ==136258== by 0x49B774A: __gconv_read_conf (gconv_conf.c:508) ==136258== by 0x4A27CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136258== by 0x4A27D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136258== by 0x49B6246: __gconv_compare_alias (gconv_db.c:692) ==136258== by 0x49BFA3D: _nl_find_locale (findlocale.c:298) ==136258== by 0x49C2142: setlocale (setlocale.c:337) ==136258== by 0x4001074: main (first.c:135) ==136258== ==136258== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136258== at 0x4862C13: calloc (vg_replace_malloc.c:1675) ==136258== by 0x492B603: Curl_open (url.c:517) ==136258== by 0x48A62AF: curl_easy_init (easy.c:377) ==136258== by 0x40010CC: UnknownInlinedFun (lib552.c:180) ==136258== by 0x40010CC: main (first.c:196) ==136258== ==136258== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136258== at 0x485B7A8: malloc (vg_replace_malloc.c:446) ==136258== by 0x4AA4FA5: __tsearch (tsearch.c:337) ==136258== by 0x4AA4FA5: tsearch (tsearch.c:290) ==136258== by 0x49B70F4: add_alias2.part.0 (gconv_conf.c:142) ==136258== by 0x49B73F0: add_alias2 (gconv_conf.c:176) ==136258== by 0x49B73F0: add_alias (gconv_conf.c:178) ==136258== by 0x49B73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136258== by 0x49B7775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136258== by 0x49B7775: __gconv_read_conf (gconv_conf.c:480) ==136258== by 0x4A27CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136258== by 0x4A27D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136258== by 0x49B6246: __gconv_compare_alias (gconv_db.c:692) ==136258== by 0x49BFA3D: _nl_find_locale (findlocale.c:298) ==136258== by 0x49C2142: setlocale (setlocale.c:337) ==136258== by 0x4001074: main (first.c:135) ==136258== ==136258== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136258== at 0x485B7A8: malloc (vg_replace_malloc.c:446) ==136258== by 0x49B70A9: add_alias2.part.0 (gconv_conf.c:132) ==136258== by 0x49B73F0: add_alias2 (gconv_conf.c:176) ==136258== by 0x49B73F0: add_alias (gconv_conf.c:178) ==136258== by 0x49B73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136258== by 0x49B7775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136258== by 0x49B7775: __gconv_read_conf (gconv_conf.c:480) ==136258== by 0x4A27CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136258== by 0x4A27D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136258== by 0x49B6246: __gconv_compare_alias (gconv_db.c:692) ==136258== by 0x49BFA3D: _nl_find_locale (findlocale.c:298) ==136258== by 0x49C2142: setlocale (setlocale.c:337) ==136258== by 0x4001074: main (first.c:135) ==136258== === End of file valgrind552 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/18/valgrind553 ./libtest/lib553 http://127.0.0.1:34637/path/553 > log/18/stdout553 2> log/18/stderr553 553: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind553 ./libtest/lib553 http://127.0.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind554 ./libtest/lib554 http://127.0.0.1:33409/554 > log/16/stdout554 2> log/16/stderr554 0.1:34637/path/553 > log/18/stdout553 2> log/18/stderr553 === End of file commands.log === Start of file http_server.log 20:54:59.725252 ====> Client connect 20:54:59.725273 accept_connection 3 returned 4 20:54:59.725285 accept_connection 3 returned 0 20:54:59.725294 Read 93 bytes 20:54:59.725301 Process 93 bytes request 20:54:59.725309 Got request: GET /verifiedserver HTTP/1.1 20:54:59.725316 Are-we-friendly question received 20:54:59.725331 Wrote request (93 bytes) input to log/18/server.input 20:54:59.725342 Identifying ourselves as friends 20:54:59.725378 Response sent (57 bytes) and written to log/18/server.response 20:54:59.725385 special request received, no persistency 20:54:59.725391 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:34637/path/553 === End of file stderr553 === Start of file valgrind553 ==136257== ==136257== Process terminating with default action of signal 4 (SIGILL) ==136257== Illegal opcode at address 0x491B6B3 ==136257== at 0x491B6B3: UnknownInlinedFun (string_fortified.h:59) ==136257== by 0x491B6B3: UnknownInlinedFun (request.c:46) ==136257== by 0x491B6B3: Curl_open (url.c:538) ==136257== by 0x48962AF: curl_easy_init (easy.c:377) ==136257== by 0x400108F: UnknownInlinedFun (lib553.c:72) ==136257== by 0x400108F: main (first.c:196) ==136257== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136257== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==136257== by 0x4A94FA5: __tsearch (tsearch.c:337) ==136257== by 0x4A94FA5: tsearch (tsearch.c:290) ==136257== by 0x49A70F4: add_alias2.part.0 (gconv_conf.c:142) ==136257== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==136257== by 0x49A73F0: add_alias (gconv_conf.c:178) ==136257== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136257== by 0x49A7555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136257== by 0x49A7555: __gconv_read_conf (gconv_conf.c:480) ==136257== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136257== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136257== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==136257== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==136257== by 0x49B2142: setlocale (setlocale.c:337) ==136257== by 0x400104B: main (first.c:135) ==136257== ==136257== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136257== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==136257== by 0x4A94FA5: __tsearch (tsearch.c:337) ==136257== by 0x4A94FA5: tsearch (tsearch.c:290) ==136257== by 0x49A70F4: add_alias2.part.0 (gconv_conf.c:142) ==136257== by 0x49A774A: add_alias2 (gconv_conf.c:105) ==136257== by 0x49A774A: __gconv_read_conf (gconv_conf.c:508) ==136257== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136257== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136257== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==136257== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==136257== by 0x49B2142: setlocale (setlocale.c:337) ==136257== by 0x400104B: main (first.c:135) ==136257== ==136257== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136257== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==136257== by 0x49A70A9: add_alias2.part.0 (gconv_conf.c:132) ==136257== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==136257== by 0x49A73F0: add_alias (gconv_conf.c:178) ==136257== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136257== by 0x49A7555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136257== by 0x49A7555: __gconv_read_conf (gconv_conf.c:480) ==136257== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136257== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136257== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==136257== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==136257== by 0x49B2142: setlocale (setlocale.c:337) ==136257== by 0x400104B: main (first.c:135) ==136257== ==136257== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136257== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==136257== by 0x49A70A9: add_alias2.part.0 (gconv_conf.c:132) ==136257== by 0x49A774A: add_alias2 (gconv_conf.c:105) ==136257== by 0x49A774A: __gconv_read_conf (gconv_conf.c:508) ==136257== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136257== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136257== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==136257== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==136257== by 0x49B2142: setlocale (setlocale.c:337) ==136257== by 0x400104B: main (first.c:135) ==136257== ==136257== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136257== at 0x4852C13: calloc (vg_replace_malloc.c:1675) ==136257== by 0x491B603: Curl_open (url.c:517) ==136257== by 0x48962AF: curl_easy_init (easy.c:377) ==136257== by 0x400108F: UnknownInlinedFun (lib553.c:72) ==136257== by 0x400108F: main (first.c:196) ==136257== ==136257== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136257== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==136257== by 0x4A94FA5: __tsearch (tsearch.c:337) ==136257== by 0x4A94FA5: tsearch (tsearch.c:290) ==136257== by 0x49A70F4: add_alias2.part.0 (gconv_conf.c:142) ==136257== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==136257== by 0x49A73F0: add_alias (gconv_conf.c:178) ==136257== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136257== by 0x49A7775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136257== by 0x49A7775: __gconv_read_conf (gconv_conf.c:480) ==136257== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136257== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136257== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==136257== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==136257== by 0x49B2142: setlocale (setlocale.c:337) ==136257== by 0x400104B: main (first.c:135) ==136257== ==136257== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136257== at 0x484B7A8: malloc (vg_replace_malloc.c:446) ==136257== by 0x49A70A9: add_alias2.part.0 (gconv_conf.c:132) ==136257== by 0x49A73F0: add_alias2 (gconv_conf.c:176) ==136257== by 0x49A73F0: add_alias (gconv_conf.c:178) ==136257== by 0x49A73F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136257== by 0x49A7775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136257== by 0x49A7775: __gconv_read_conf (gconv_conf.c:480) ==136257== by 0x4A17CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136257== by 0x4A17D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136257== by 0x49A6246: __gconv_compare_alias (gconv_db.c:692) ==136257== by 0x49AFA3D: _nl_find_locale (findlocale.c:298) ==136257== by 0x49B2142: setlocale (setlocale.c:337) ==136257== by 0x400104B: main (first.c:135) ==136257== === 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/16/valgrind554 ./libtest/lib554 http://127.0.0.1:33409/554 > log/16/stdout554 2> log/16/stderr554 554: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 554 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind554 ./libtest/lib554 http://127.0.0.1:33409/554 > log/16/stdout554 2> log/16/stderr554 === End of file commands.log === Start of file http_server.log 20:54:59.726785 ====> Client connect 20:54:59.726807 accept_connection 3 returned 4 20:54:59.726819 accept_connection 3 returned 0 20:54:59.726828 Read 93 bytes 20:54:59.726835 Process 93 bytes request 20:54:59.726843 Got request: GET /verifiedserver HTTP/1.1 20:54:59.726850 Are-we-friendly question received 20:54:59.726888 Wrote request (93 bytes) input to log/16/server.input 20:54:59.726901 Identifying ourselves as friends 20:54:59.726940 Response sent (57 bytes) and written to log/16/server.response 20:54:59.726947 special request received, no persistency 20:54:59.726953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:33409/554 === End of file stderr554 === Start of file valgrind554 ==136272== ==136272== Process terminating with default action of signal 4 (SIGILL) ==136272== Illegal opcode at address 0x491A6B3 ==136272== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136272== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136272== by 0x491A6B3: Curl_open (url.c:538) ==136272== by 0x48952AF: curl_easy_init (easy.c:377) ==136272== by 0x40013EE: test_once (lib554.c:147) ==136272== by 0x4001084: UnknownInlinedFun (lib554.c:199) ==136272== by 0x4001084: main (first.c:196) ==136272== 408 bytes in 17 blocks are possibly lost in loss record 620 of 671 ==136272== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136272== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136272== by 0x4A93FA5: tsearch (tsearch.c:290) ==136272== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136272== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136272== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136272== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136272== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136272== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136272== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136272== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136272== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136272== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136272== by 0x49B1142: setlocale (setlocale.c:337) ==136272== by 0x4001041: main (first.c:135) ==136272== ==136272== 552 bytes in 23 blocks are possibly lost in loss record 624 of 671 ==136272== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136272== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136272== by 0x4A93FA5: tsearch (tsearch.c:290) ==136272== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136272== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136272== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136272== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136272== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136272== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136272== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136272== by 0x49B1142: setlocale (setlocale.c:337) ==136272== by 0x4001041: main (first.c:135) ==136272== ==136272== 681 bytes in 17 blocks are possibly lost in loss record 630 of 671 ==136272== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136272== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136272== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136272== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136272== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136272== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136272== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136272== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136272== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136272== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136272== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136272== by 0x49B1142: setlocale (setlocale.c:337) ==136272== by 0x4001041: main (first.c:135) ==136272== ==136272== 1,018 bytes in 23 blocks are possibly lost in loss record 645 of 671 ==136272== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136272== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136272== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136272== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136272== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136272== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136272== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136272== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136272== by 0x49B1142: setlocale (setlocale.c:337) ==136272== by 0x4001041: main (first.c:135) ==136272== ==136272== 5,456 bytes in 1 blocks are definitely lost in loss record 664 of 671 ==136272== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136272== by 0x491A603: Curl_open (url.c:517) ==136272== by 0x48952AF: curl_easy_init (easy.c:377) ==136272== by 0x40013EE: test_once (lib554.c:147) ==136272== by 0x4001084: UnknownInlinedFun (lib554.c:199) ==136272== by 0x4001084: main (first.c:196) ==136272== ==136272== 11,664 bytes in 486 blocks are possibly lost in loss record 667 of 671 ==136272== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136272== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136272== by 0x4A93FA5: tsearch (tsearch.c:290) ==136272== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136272== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136272== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136272== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136272== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136272== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136272== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136272== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136272== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136272== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136272== by 0x49B1142: setlocale (setlocale.c:337) ==136272== by 0x4001041: main (first.c:135) ==136272== ==136272== 18,800 bytes in 486 blocks are possibly lost in loss record 669 of 671 ==136272== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136272== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136272== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136272== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136272== by 0x49A63F0: read_conf_file.isra.0 (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/24/valgrind557 ./libtest/lib557 nothing > log/24/stdout557 2> log/24/stderr557 onv_parseconfdir.h:101) ==136272== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136272== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136272== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136272== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136272== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136272== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136272== by 0x49B1142: setlocale (setlocale.c:337) ==136272== by 0x4001041: main (first.c:135) ==136272== === End of file valgrind554 CMD (33792): ../libtool --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/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:39141 testuser:testpass > log/7/stdout555 2> log/7/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/24/valgrind557 ./libtest/lib557 nothing > log/24/stdout557 2> log/24/stderr557 557: stdout FAILED: --- log/24/check-expected 2025-06-04 20:55:00.229698655 +0000 +++ log/24/check-generated 2025-06-04 20:55:00.229698655 +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/24/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind557 ./libtest/lib557 nothing > log/24/stdout557 2> log/24/stderr557 === End of file commands.log === 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 ==136438== ==136438== Process terminating with default action of signal 4 (SIGILL) ==136438== Illegal opcode at address 0x400128A ==136438== at 0x400128A: UnknownInlinedFun (lib557.c:161) ==136438== by 0x400128A: UnknownInlinedFun (lib557.c:1577) ==136438== by 0x400128A: main (first.c:196) ==136438== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==136438== at 0x487C7A8: malloc (vg_replace_malloc.c:446) ==136438== by 0x4AC5FA5: __tsearch (tsearch.c:337) ==136438== by 0x4AC5FA5: tsearch (tsearch.c:290) ==136438== by 0x49D80F4: add_alias2.part.0 (gconv_conf.c:142) ==136438== by 0x49D83F0: add_alias2 (gconv_conf.c:176) ==136438== by 0x49D83F0: add_alias (gconv_conf.c:178) ==136438== by 0x49D83F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136438== by 0x49D8555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136438== by 0x49D8555: __gconv_read_conf (gconv_conf.c:480) ==136438== by 0x4A48CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136438== by 0x4A48D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136438== by 0x49D7246: __gconv_compare_alias (gconv_db.c:692) ==136438== by 0x49E0A3D: _nl_find_locale (findlocale.c:298) ==136438== by 0x49E3142: setlocale (setlocale.c:337) ==136438== by 0x4001060: main (first.c:135) ==136438== ==136438== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==136438== at 0x487C7A8: malloc (vg_replace_malloc.c:446) ==136438== by 0x4AC5FA5: __tsearch (tsearch.c:337) ==136438== by 0x4AC5FA5: tsearch (tsearch.c:290) ==136438== by 0x49D80F4: add_alias2.part.0 (gconv_conf.c:142) ==136438== by 0x49D874A: add_alias2 (gconv_conf.c:105) ==136438== by 0x49D874A: __gconv_read_conf (gconv_conf.c:508) ==136438== by 0x4A48CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136438== by 0x4A48D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136438== by 0x49D7246: __gconv_compare_alias (gconv_db.c:692) ==136438== by 0x49E0A3D: _nl_find_locale (findlocale.c:298) ==136438== by 0x49E3142: setlocale (setlocale.c:337) ==136438== by 0x4001060: main (first.c:135) ==136438== ==136438== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==136438== at 0x487C7A8: malloc (vg_replace_malloc.c:446) ==136438== by 0x49D80A9: add_alias2.part.0 (gconv_conf.c:132) ==136438== by 0x49D83F0: add_alias2 (gconv_conf.c:176) ==136438== by 0x49D83F0: add_alias (gconv_conf.c:178) ==136438== by 0x49D83F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136438== by 0x49D8555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136438== by 0x49D8555: __gconv_read_conf (gconv_conf.c:480) ==136438== by 0x4A48CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136438== by 0x4A48D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136438== by 0x49D7246: __gconv_compare_alias (gconv_db.c:692) ==136438== by 0x49E0A3D: _nl_find_locale (findlocale.c:298) ==136438== by 0x49E3142: setlocale (setlocale.c:337) ==136438== by 0x4001060: main (first.c:135) ==136438== ==136438== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==136438== at 0x487C7A8: malloc (vg_replace_malloc.c:446) ==136438== by 0x49D80A9: add_alias2.part.0 (gconv_conf.c:132) ==136438== by 0x49D874A: add_alias2 (gconv_conf.c:105) ==136438== by 0x49D874A: __gconv_read_conf (gconv_conf.c:508) ==136438== by 0x4A48CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136438== by 0x4A48D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136438== by 0x49D7246: __gconv_compare_alias (gconv_db.c:692) ==136438== by 0x49E0A3D: _nl_find_locale (findlocale.c:298) ==136438== by 0x49E3142: setlocale (setlocale.c:337) ==136438== by 0x4001060: main (first.c:135) ==136438== ==136438== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==136438== at 0x487C7A8: malloc (vg_replace_malloc.c:446) ==136438== by 0x4AC5FA5: __tsearch (tsearch.c:337) ==136438== by 0x4AC5FA5: tsearch (tsearch.c:290) ==136438== by 0x49D80F4: add_alias2.part.0 (gconv_conf.c:142) ==136438== by 0x49D83F0: add_alias2 (gconv_conf.c:176) ==136438== by 0x49D83F0: add_alias (gconv_conf.c:178) ==136438== by 0x49D83F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136438== by 0x49D8775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136438== by 0x49D8775: __gconv_read_conf (gconv_conf.c:480) ==136438== by 0x4A48CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136438== by 0x4A48D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136438== by 0x49D7246: __gconv_compare_alias (gconv_db.c:692) ==136438== by 0x49E0A3D: _nl_find_locale (findlocale.c:298) ==136438== by 0x49E3142: setlocale (setlocale.c:337) ==136438== by 0x4001060: main (first.c:135) ==136438== ==136438== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==136438== at 0x487C7A8: malloc (vg_replace_malloc.c:446) ==136438== by 0x49D80A9: add_alias2.part.0 (gconv_conf.c:132) ==136438== by 0x49D83F0: add_alias2 (gconv_conf.c:176) ==136438== by 0x49D83F0: add_alias (gconv_conf.c:178) ==136438== by 0x49D83F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136438== by 0x49D8775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136438== by 0x49D8775: __gconv_read_conf (gconv_conf.c:480) ==136438== by 0x4A48CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136438== by 0x4A48D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136438== by 0x49D7246: __gconv_compare_alias (gconv_db.c:692) ==136438== by 0x49E0A3D: _nl_find_locale (findlocale.c:298) ==136438== by 0x49E3142: setlocale (setlocale.c:337) ==136438== by 0x4001060: main (first.c:135) ==136438== === 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/7/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:39141 testuser:testpass > log/7/stdout555 2> log/7/stderr555 555: 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 555 === Start of file commands.log ../libtool --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/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:39141 testuser:testpass > log/7/stdout555 2> log/7/stderr555 === End of file commands.log === Start of file http_server.log 20:54:59.945786 ====> Client connect 20:54:59.945821 accept_connection 3 returned 4 20:54:59.945836 accept_connection 3 returned 0 20:54:59.945847 Read 93 bytes 20:54:59.945855 Process 93 bytes request 20:54:59.945865 Got request: GET /verifiedserver HTTP/1.1 20:54:59.945872 Are-we-friendly question received 20:54:59.945891 Wrote request (93 bytes) input to log/7/server.input 20:54:59.945902 Identifying ourselves as friends 20:54:59.945953 Response sent (57 bytes) and written to log/7/server.response 20:54:59.945961 special request received, no persistency 20:54:59.945967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === 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 ==136491== ==136491== Process terminating with default action of signal 4 (SIGILL) ==136491== Illegal opcode at address 0x491A6B3 ==136491== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136491== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136491== by 0x491A6B3: Curl_open (url.c:538) ==136491== by 0x48952AF: curl_easy_init (easy.c:377) ==136491== by 0x40013C1: test (lib555.c:91) ==136491== by 0x400108E: main (first.c:196) ==136491== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136491== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136491== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136491== by 0x4A93FA5: tsearch (tsearch.c:290) ==136491== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136491== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136491== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136491== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136491== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136491== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136491== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136491== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136491== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136491== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136491== by 0x49B1142: setlocale (setlocale.c:337) ==136491== by 0x4001041: main (first.c:135) ==136491== ==136491== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136491== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136491== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136491== by 0x4A93FA5: tsearch (tsearch.c:290) ==136491== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136491== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136491== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136491== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136491== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136491== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136491== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136491== by 0x49B1142: setlocale (setlocale.c:337) ==136491== by 0x4001041: main (first.c:135) ==136491== ==136491== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136491== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136491== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136491== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136491== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136491== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136491== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136491== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136491== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136491== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136491== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136491== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136491== by 0x49B1142: setlocale (setlocale.c:337) ==136491== by 0x4001041: main (first.c:135) ==136491== ==136491== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136491== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136491== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136491== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136491== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136491== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136491== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136491== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136491== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136491== by 0x49B1142: setlocale (setlocale.c:337) ==136491== by 0x4001041: main (first.c:135) ==136491== ==136491== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136491== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136491== by 0x491A603: Curl_open (url.c:517) ==136491== by 0x48952AF: curl_easy_init (easy.c:377) ==136491== by 0x40013C1: test (lib555.c:91) ==136491== by 0x400108E: main (first.c:196) ==136491== ==136491== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136491== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136491== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136491== by 0x4A93FA5: tsearch (tsearch.c:290) ==136491== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136491== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136491== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136491== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136491== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136491== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136491== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136491== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136491== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136491== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136491== by 0x49B1142: setlocale (setlocale.c:337) ==136491== by 0x4001041: main (first.c:135) ==136491== ==136491== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136491== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136491== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136491== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136491== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136491== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136491== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136491== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136491== by 0x4ACMD (33792): ../libtool --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/valgrind556 ./libtest/lib556 http://127.0.0.1:35779 > log/4/stdout556 2> log/4/stderr556 16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136491== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136491== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136491== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136491== by 0x49B1142: setlocale (setlocale.c:337) ==136491== by 0x4001041: main (first.c:135) ==136491== === End of file valgrind555 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/4/valgrind556 ./libtest/lib556 http://127.0.0.1:35779 > log/4/stdout556 2> log/4/stderr556 556: 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 556 === Start of file commands.log ../libtool --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/valgrind556 ./libtest/lib556 http://127.0.0.1:35779 > log/4/stdout556 2> log/4/stderr556 === End of file commands.log === Start of file http_server.log 20:54:59.947342 ====> Client connect 20:54:59.947423 accept_connection 3 returned 4 20:54:59.947436 accept_connection 3 returned 0 20:54:59.947450 Read 93 bytes 20:54:59.947457 Process 93 bytes request 20:54:59.947466 Got request: GET /verifiedserver HTTP/1.1 20:54:59.947473 Are-we-friendly question received 20:54:59.947490 Wrote request (93 bytes) input to log/4/server.input 20:54:59.947500 Identifying ourselves as friends 20:54:59.947539 Response sent (57 bytes) and written to log/4/server.response 20:54:59.947546 special request received, no persistency 20:54:59.947552 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:35779 === End of file stderr556 === Start of file valgrind556 ==136468== ==136468== Process terminating with default action of signal 4 (SIGILL) ==136468== Illegal opcode at address 0x491A6B3 ==136468== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136468== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136468== by 0x491A6B3: Curl_open (url.c:538) ==136468== by 0x48952AF: curl_easy_init (easy.c:377) ==136468== by 0x40011FC: test (lib556.c:42) ==136468== by 0x400106C: main (first.c:196) ==136468== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136468== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136468== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136468== by 0x4A93FA5: tsearch (tsearch.c:290) ==136468== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136468== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136468== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136468== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136468== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136468== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136468== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136468== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136468== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136468== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136468== by 0x49B1142: setlocale (setlocale.c:337) ==136468== by 0x4001041: main (first.c:135) ==136468== ==136468== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136468== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136468== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136468== by 0x4A93FA5: tsearch (tsearch.c:290) ==136468== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136468== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136468== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136468== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136468== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136468== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136468== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136468== by 0x49B1142: setlocale (setlocale.c:337) ==136468== by 0x4001041: main (first.c:135) ==136468== ==136468== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136468== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136468== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136468== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136468== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136468== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136468== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136468== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136468== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136468== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136468== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136468== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136468== by 0x49B1142: setlocale (setlocale.c:337) ==136468== by 0x4001041: main (first.c:135) ==136468== ==136468== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136468== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136468== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136468== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136468== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136468== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136468== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136468== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136468== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136468== by 0x49B1142: setlocale (setlocale.c:337) ==136468== by 0x4001041: main (first.c:135) ==136468== ==136468== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136468== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136468== by 0x491A603: Curl_open (url.c:517) ==136468== by 0x48952AF: curl_easy_init (easy.c:377) ==136468== by 0x40011FC: test (lib556.c:42) ==136468== by 0x400106C: main (first.c:196) ==136468== ==136468== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136468== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136468== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136468== by 0x4A93FA5: tsearch (tsearch.c:290) ==136468== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136468== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136468== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136468== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136468== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136468== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136468== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136468== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136468== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136468== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136468== by 0x49B1142: setlocale (setlocale.c:337) ==136468== by 0x4001041: main (first.c:135) ==136468== ==136468== 18,800 bytes in 486CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind516 ./libtest/lib516 http://127.0.0.1:44987/516 > log/13/stdout516 2> log/13/stderr516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind559 ./libtest/lib559 http://127.0.0.1:46549/559 > log/19/stdout559 2> log/19/stderr559 blocks are possibly lost in loss record 653 of 655 ==136468== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136468== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136468== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136468== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136468== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136468== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136468== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136468== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136468== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136468== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136468== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136468== by 0x49B1142: setlocale (setlocale.c:337) ==136468== by 0x4001041: main (first.c:135) ==136468== === End of file valgrind556 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/13/valgrind516 ./libtest/lib516 http://127.0.0.1:44987/516 > log/13/stdout516 2> log/13/stderr516 516: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind516 ./libtest/lib516 http://127.0.0.1:44987/516 > log/13/stdout516 2> log/13/stderr516 === End of file commands.log === Start of file http_server.log 20:54:44.243954 ====> Client connect 20:54:44.243988 accept_connection 3 returned 4 20:54:44.244006 accept_connection 3 returned 0 20:54:44.244020 Read 93 bytes 20:54:44.244030 Process 93 bytes request 20:54:44.244042 Got request: GET /verifiedserver HTTP/1.1 20:54:44.244051 Are-we-friendly question received 20:54:44.244075 Wrote request (93 bytes) input to log/13/server.input 20:54:44.244092 Identifying ourselves as friends 20:54:44.244152 Response sent (57 bytes) and written to log/13/server.response 20:54:44.244163 special request received, no persistency 20:54:44.244172 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:44987/516 === End of file stderr516 === Start of file valgrind516 ==133773== ==133773== Process terminating with default action of signal 4 (SIGILL) ==133773== Illegal opcode at address 0x491A6B3 ==133773== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133773== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133773== by 0x491A6B3: Curl_open (url.c:538) ==133773== by 0x48952AF: curl_easy_init (easy.c:377) ==133773== by 0x4001081: UnknownInlinedFun (lib516.c:38) ==133773== by 0x4001081: main (first.c:196) ==133773== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133773== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133773== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133773== by 0x4A93FA5: tsearch (tsearch.c:290) ==133773== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133773== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133773== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133773== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133773== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133773== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133773== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133773== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133773== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133773== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133773== by 0x49B1142: setlocale (setlocale.c:337) ==133773== by 0x4001041: main (first.c:135) ==133773== ==133773== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133773== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133773== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133773== by 0x4A93FA5: tsearch (tsearch.c:290) ==133773== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133773== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133773== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133773== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133773== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133773== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133773== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133773== by 0x49B1142: setlocale (setlocale.c:337) ==133773== by 0x4001041: main (first.c:135) ==133773== ==133773== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133773== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133773== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133773== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133773== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133773== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133773== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133773== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133773== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133773== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133773== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133773== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133773== by 0x49B1142: setlocale (setlocale.c:337) ==133773== by 0x4001041: main (first.c:135) ==133773== ==133773== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133773== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133773== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133773== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133773== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133773== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133773== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133773== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133773== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133773== by 0x49B1142: setlocale (setlocale.c:337) ==133773== by 0x4001041: main (first.c:135) ==133773== ==133773== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133773== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133773== by 0x491A603: Curl_open (url.c:517) ==133773== by 0x48952AF: curl_easy_init (easy.c:377) ==133773== by 0x4001081: UnknownInlinedFun (lib516.c:38) ==133773== by 0x4001081: main (first.c:196) ==133773== ==133773== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133773== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133773== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133773== by 0x4A93FA5: tsearch (tsearch.c:290) ==133773== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133773== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133773== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133773== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133773== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133773== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133773== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133773== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133773== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133773== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133773== by 0x49B1142: setlocale (setlocale.c:337) ==133773== by 0x4001041: main (first.c:135) ==133773== ==133773== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133773== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133773== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133773== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133773== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133773== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133773== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133773== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133773== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133773== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133773== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133773== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133773== by 0x49B1142: setlocale (setlocale.c:337) ==133773== by 0x4001041: main (first.c:135) ==133773== === End of file valgrind516 CMD (33792): ../libtool --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/valgrind512 ./libtest/lib512 http://127.0.0.1:33725/512 > log/5/stdout512 2> log/5/stderr512 CMD (33792): ../libtool --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/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:44265 ascii > log/11/stdout561 2> log/11/stderr561 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/19/valgrind559 ./libtest/lib559 http://127.0.0.1:46549/559 > log/19/stdout559 2> log/19/stderr559 559: data FAILED: --- log/19/check-expected 2025-06-04 20:55:00.453031993 +0000 +++ log/19/check-generated 2025-06-04 20:55:00.453031993 +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/19/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind559 ./libtest/lib559 http://127.0.0.1:46549/559 > log/19/stdout559 2> log/19/stderr559 === End of file commands.log === Start of file http_server.log 20:54:59.960901 ====> Client connect 20:54:59.960923 accept_connection 3 returned 4 20:54:59.960948 accept_connection 3 returned 0 20:54:59.960962 Read 93 bytes 20:54:59.960971 Process 93 bytes request 20:54:59.960980 Got request: GET /verifiedserver HTTP/1.1 20:54:59.960986 Are-we-friendly question received 20:54:59.961007 Wrote request (93 bytes) input to log/19/server.input 20:54:59.961019 Identifying ourselves as friends 20:54:59.961057 Response sent (57 bytes) and written to log/19/server.response 20:54:59.961064 special request received, no persistency 20:54:59.961070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:46549/559 === End of file stderr559 === Start of file valgrind559 ==136547== ==136547== Process terminating with default action of signal 4 (SIGILL) ==136547== Illegal opcode at address 0x491A6B3 ==136547== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136547== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136547== by 0x491A6B3: Curl_open (url.c:538) ==136547== by 0x48952AF: curl_easy_init (easy.c:377) ==136547== by 0x4001081: UnknownInlinedFun (lib559.c:39) ==136547== by 0x4001081: main (first.c:196) ==136547== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136547== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136547== by 0x4A93FA5: tsearch (tsearch.c:290) ==136547== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136547== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136547== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136547== by 0x49B1142: setlocale (setlocale.c:337) ==136547== by 0x4001041: main (first.c:135) ==136547== ==136547== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136547== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136547== by 0x4A93FA5: tsearch (tsearch.c:290) ==136547== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136547== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136547== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136547== by 0x49B1142: setlocale (setlocale.c:337) ==136547== by 0x4001041: main (first.c:135) ==136547== ==136547== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136547== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136547== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136547== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136547== by 0x49B1142: setlocale (setlocale.c:337) ==136547== by 0x4001041: main (first.c:135) ==136547== ==136547== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136547== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136547== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136547== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136547== by 0x49B1142: setlocale (setlocale.c:337) ==136547== by 0x4001041: main (first.c:135) ==136547== ==136547== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136547== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136547== by 0x491A603: Curl_open (url.c:517) ==136547== by 0x48952AF: curl_easy_init (easy.c:377) ==136547== by 0x4001081: UnknownInlinedFun (lib559.c:39) ==136547== by 0x4001081: main (first.c:196) ==136547== ==136547== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136547== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136547== by 0x4A93FA5: tsearch (tsearch.c:290) ==136547== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136547== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136547== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136547== by 0x49B1142: setlocale (setlocale.c:337) ==136547== by 0x4001041: main (first.c:135) ==136547== ==136547== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136547== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136547== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136547== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136547== by 0x49B1142: setlocale (setlocale.c:337) ==136547== by 0x4001041: main (first.c:135) ==136547== === End of file valgrind559 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/5/valgrind512 ./libtest/lib512 http://127.0.0.1:33725/512 > log/5/stdout512 2> log/5/stderr512 512: 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 512 === Start of file commands.log ../libtool --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/valgrind512 ./libtest/lib512 http://127.0.0.1:33725/512 > log/5/stdout512 2> log/5/stderr512 === End of file commands.log === Start of file http_server.log 20:54:44.121076 ====> Client connect 20:54:44.121106 accept_connection 3 returned 4 20:54:44.121123 accept_connection 3 returned 0 20:54:44.121137 Read 93 bytes 20:54:44.121146 Process 93 bytes request 20:54:44.121159 Got request: GET /verifiedserver HTTP/1.1 20:54:44.121168 Are-we-friendly question received 20:54:44.121189 Wrote request (93 bytes) input to log/5/server.input 20:54:44.121204 Identifying ourselves as friends 20:54:44.121285 Response sent (57 bytes) and written to log/5/server.response 20:54:44.121296 special request received, no persistency 20:54:44.121305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:33725/512 === End of file stderr512 === Start of file valgrind512 ==133463== ==133463== Process terminating with default action of signal 4 (SIGILL) ==133463== Illegal opcode at address 0x491A6B3 ==133463== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133463== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133463== by 0x491A6B3: Curl_open (url.c:538) ==133463== by 0x48952AF: curl_easy_init (easy.c:377) ==133463== by 0x40010AD: UnknownInlinedFun (lib512.c:38) ==133463== by 0x40010AD: main (first.c:196) ==133463== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133463== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133463== by 0x4A93FA5: tsearch (tsearch.c:290) ==133463== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133463== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133463== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133463== by 0x49B1142: setlocale (setlocale.c:337) ==133463== by 0x4001047: main (first.c:135) ==133463== ==133463== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133463== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133463== by 0x4A93FA5: tsearch (tsearch.c:290) ==133463== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133463== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133463== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133463== by 0x49B1142: setlocale (setlocale.c:337) ==133463== by 0x4001047: main (first.c:135) ==133463== ==133463== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133463== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133463== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133463== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133463== by 0x49B1142: setlocale (setlocale.c:337) ==133463== by 0x4001047: main (first.c:135) ==133463== ==133463== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133463== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133463== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133463== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133463== by 0x49B1142: setlocale (setlocale.c:337) ==133463== by 0x4001047: main (first.c:135) ==133463== ==133463== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133463== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133463== by 0x491A603: Curl_open (url.c:517) ==133463== by 0x48952AF: curl_easy_init (easy.c:377) ==133463== by 0x40010AD: UnknownInlinedFun (lib512.c:38) ==133463== by 0x40010AD: main (first.c:196) ==133463== ==133463== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133463== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133463== by 0x4A93FA5: tsearch (tsearch.c:290) ==133463== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133463== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133463== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133463== by 0x49B1142: setlocale (setlocale.c:337) ==133463== by 0x4001047: main (first.c:135) ==133463== ==133463== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133463== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133463== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133463== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133463== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133463== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133463== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133463== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133463== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133463== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133463== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133463== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133463== by 0x49B1142: setlocale (setlocale.c:337) ==133463== by 0x4001047: main (first.c:135) ==133463== === End of file valgrind512 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/11/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:44265 ascii > log/11/stdout561 2> log/11/stderr561 561: stdout FAILED: --- log/11/check-expected 2025-06-04 20:55:00.459698659 +0000 +++ log/11/check-generated 2025-06-04 20:55:00.459698659 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/11/ dir after test 561 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:44265 ascii > log/11/stdout561 2> log/11/stderr561 === End of file commands.log === Start of file http_server.log 20:54:59.962400 ====> Client connect 20:54:59.962423 accept_connection 3 returned 4 20:54:59.962436 accept_connection 3 returned 0 20:54:59.962447 Read 93 bytes 20:54:59.962455 Process 93 bytes request 20:54:59.962465 Got request: GET /verifiedserver HTTP/1.1 20:54:59.962472 Are-we-friendly question received 20:54:59.962490 Wrote request (93 bytes) input to log/11/server.input 20:54:59.962505 Identifying ourselves as friends 20:54:59.962543 Response sent (57 bytes) and written to log/11/server.response 20:54:59.962550 special request received, no persistency 20:54:59.962556 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === 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: 18 WE ROOLZ: 104805 === 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 ==136556== ==136556== Process terminating with default action of signal 4 (SIGILL) ==136556== Illegal opcode at address 0x491A6B3 ==136556== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136556== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136556== by 0x491A6B3: Curl_open (url.c:538) ==136556== by 0x48952AF: curl_easy_init (easy.c:377) ==136556== by 0x40010A9: UnknownInlinedFun (lib549.c:43) ==136556== by 0x40010A9: main (first.c:196) ==136556== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136556== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136556== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136556== by 0x4A93FA5: tsearch (tsearch.c:290) ==136556== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136556== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136556== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136556== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136556== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136556== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136556== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136556== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136556== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136556== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136556== by 0x49B1142: setlocale (setlocale.c:337) ==136556== by 0x4001047: main (first.c:135) ==136556== ==136556== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136556== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136556== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136556== by 0x4A93FA5: tsearch (tsearch.c:290) ==136556== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136556== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136556== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136556== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136556== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136556== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136556== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136556== by 0x49B1142: setlocale (setlocale.c:337) ==136556== by 0x4001047: main (first.c:135) ==136556== ==136556== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136556== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136556== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136556== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136556== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136556== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136556== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136556== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136556== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136556== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136556== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136556== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136556== by 0x49B1142: setlocale (setlocale.c:337) ==136556== by 0x4001047: main (first.c:135) ==136556== ==136556== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136556== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136556== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136556== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136556== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136556== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136556== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136556== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136556== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136556== by 0x49B1142: setlocale (setlocale.c:337) ==136556== by 0x4001047: main (first.c:135) ==136556== ==136556== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136556== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136556== by 0x491A603: Curl_open (url.c:517) ==136556== by 0x48952AF: curl_easy_init (easy.c:377) ==136556== by 0x40010A9: UnknownInlinedFun (lib549.c:43) ==136556== by 0x40010A9: main (first.c:196) ==136556== ==136556== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136556== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136556== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136556== by 0x4A93FA5: tsearch (tsearch.c:290) ==136556== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136556== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136556== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136556== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136556== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136556== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136556== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136556== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136556== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136556== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136556== by 0x49B1142: setlocale (setlocale.c:337) ==136556== by 0x4001047: main (first.c:135) ==136556== ==136556== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136556== at 0x484A7A8: malloc (vg_replace_malloc.CMD (33792): ../libtool --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/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 38967 > log/12/stdout562 2> log/12/stderr562 CMD (33792): ../libtool --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/valgrind565 ./libtest/lib565 http://127.0.0.1:43831/565 > log/10/stdout565 2> log/10/stderr565 c:446) ==136556== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136556== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136556== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136556== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136556== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136556== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136556== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136556== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136556== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136556== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136556== by 0x49B1142: setlocale (setlocale.c:337) ==136556== by 0x4001047: main (first.c:135) ==136556== === 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/12/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 38967 > log/12/stdout562 2> log/12/stderr562 562: 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 562 === Start of file commands.log ../libtool --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/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 38967 > log/12/stdout562 2> log/12/stderr562 === End of file commands.log === Start of file ftp_server.log 20:54:59.971342 ====> Client connect 20:54:59.971462 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:59.971657 < "USER anonymous" 20:54:59.971682 > "331 We are happy you popped in![CR][LF]" 20:54:59.971859 < "PASS ftp@example.com" 20:54:59.971908 > "230 Welcome you silly person[CR][LF]" 20:54:59.971993 < "PWD" 20:54:59.972017 > "257 "/" is current directory[CR][LF]" 20:54:59.972191 < "EPSV" 20:54:59.972214 ====> Passive DATA channel requested by client 20:54:59.972226 DATA sockfilt for passive data channel starting... 20:54:59.973622 DATA sockfilt for passive data channel started (pid 136739) 20:54:59.973705 DATA sockfilt for passive data channel listens on port 40753 20:54:59.973734 > "229 Entering Passive Mode (|||40753|)[LF]" 20:54:59.973748 Client has been notified that DATA conn will be accepted on port 40753 20:54:59.973962 Client connects to port 40753 20:54:59.973995 ====> Client established passive DATA connection on port 40753 20:54:59.974192 < "TYPE I" 20:54:59.974216 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:59.974371 < "SIZE verifiedserver" 20:54:59.974423 > "213 18[CR][LF]" 20:54:59.974532 < "RETR verifiedserver" 20:54:59.974557 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:59.974611 =====> Closing passive DATA connection... 20:54:59.974622 Server disconnects passive DATA connection 20:54:59.974738 Server disconnected passive DATA connection 20:54:59.974759 DATA sockfilt for passive data channel quits (pid 136739) 20:54:59.974939 DATA sockfilt for passive data channel quit (pid 136739) 20:54:59.974957 =====> Closed passive DATA connection 20:54:59.974975 > "226 File transfer complete[CR][LF]" 20:55:00.019103 < "QUIT" 20:55:00.019151 > "221 bye bye baby[CR][LF]" 20:55:00.019985 MAIN sockfilt said DISC 20:55:00.020017 ====> Client disconnected 20:55:00.020091 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.192767 ====> Client connect 20:55:00.192976 Received DATA (on stdin) 20:55:00.192987 > 160 bytes data, server => client 20:55:00.192995 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.193002 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.193009 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.193057 < 16 bytes data, client => server 20:55:00.193065 'USER anonymous\r\n' 20:55:00.193190 Received DATA (on stdin) 20:55:00.193199 > 33 bytes data, server => client 20:55:00.193207 '331 We are happy you popped in!\r\n' 20:55:00.193241 < 22 bytes data, client => server 20:55:00.193248 'PASS ftp@example.com\r\n' 20:55:00.193403 Received DATA (on stdin) 20:55:00.193413 > 30 bytes data, server => client 20:55:00.193421 '230 Welcome you silly person\r\n' 20:55:00.193452 < 5 bytes data, client => server 20:55:00.193460 'PWD\r\n' 20:55:00.193543 Received DATA (on stdin) 20:55:00.193561 > 30 bytes data, server => client 20:55:00.193570 '257 "/" is current directory\r\n' 20:55:00.193645 < 6 bytes data, client => server 20:55:00.193656 'EPSV\r\n' 20:55:00.195262 Received DATA (on stdin) 20:55:00.195275 > 38 bytes data, server => client 20:55:00.195284 '229 Entering Passive Mode (|||40753|)\n' 20:55:00.195636 < 8 bytes data, client => server 20:55:00.195651 'TYPE I\r\n' 20:55:00.195737 Received DATA (on stdin) 20:55:00.195758 > 33 bytes data, server => client 20:55:00.195767 '200 I modify TYPE as you wanted\r\n' 20:55:00.195812 < 21 bytes data, client => server 20:55:00.195823 'SIZE verifiedserver\r\n' 20:55:00.195932 Received DATA (on stdin) 20:55:00.195945 > 8 bytes data, server => client 20:55:00.195952 '213 18\r\n' 20:55:00.195989 < 21 bytes data, client => server 20:55:00.196001 'RETR verifiedserver\r\n' 20:55:00.196129 Received DATA (on stdin) 20:55:00.196138 > 29 bytes data, server => client 20:55:00.196146 '150 Binary junk (18 bytes).\r\n' 20:55:00.196482 Received DATA (on stdin) 20:55:00.196492 > 28 bytes data, server => client 20:55:00.196499 '226 File transfer complete\r\n' 20:55:00.240438 < 6 bytes data, client => server 20:55:00.240459 'QUIT\r\n' 20:55:00.240663 Received DATA (on stdin) 20:55:00.240673 > 18 bytes data, server => client 20:55:00.240681 '221 bye bye baby\r\n' 20:55:00.241444 ====> Client disconnect 20:55:00.241602 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:59.194965 Running IPv4 version 20:54:59.195031 Listening on port 40753 20:54:59.195066 Wrote pid 136739 to log/12/server/ftp_sockdata.pid 20:54:59.195083 Received PING (on stdin) 20:54:59.195147 Received PORT (on stdin) 20:54:59.195413 ====> Client connect 20:54:59.196167 Received DATA (on stdin) 20:54:59.196182 > 18 bytes data, server => client 20:54:59.196192 'WE ROOLZ: 110628\r\n' 20:54:59.196212 Received DISC (on stdin) 20:54:59.196220 ====> Client forcibly disconnected 20:54:59.196282 Received QUIT (on stdin) 20:54:59.196293 quits 20:54:59.196335 ============> 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 ==136791== ==136791== Process terminating with default action of signal 4 (SIGILL) ==136791== Illegal opcode at address 0x491A6B3 ==136791== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136791== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136791== by 0x491A6B3: Curl_open (url.c:538) ==136791== by 0x48952AF: curl_easy_init (easy.c:377) ==136791== by 0x4001098: UnknownInlinedFun (lib562.c:51) ==136791== by 0x4001098: main (first.c:196) ==136791== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136791== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136791== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136791== by 0x4A93FA5: tsearch (tsearch.c:290) ==136791== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136791== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136791== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136791== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136791== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136791== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136791== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136791== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136791== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136791== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136791== by 0x49B1142: setlocale (setlocale.c:337) ==136791== by 0x4001047: main (first.c:135) ==136791== ==136791== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136791== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136791== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136791== by 0x4A93FA5: tsearch (tsearch.c:290) ==136791== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136791== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136791== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136791== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136791== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136791== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136791== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136791== by 0x49B1142: setlocale (setlocale.c:337) ==136791== by 0x4001047: main (first.c:135) ==136791== ==136791== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136791== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136791== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136791== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136791== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136791== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136791== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136791== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136791== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136791== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136791== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136791== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136791== by 0x49B1142: setlocale (setlocale.c:337) ==136791== by 0x4001047: main (first.c:135) ==136791== ==136791== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136791== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136791== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136791== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136791== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136791== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136791== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136791== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136791== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136791== by 0x49B1142: setlocale (setlocale.c:337) ==136791== by 0x4001047: main (first.c:135) ==136791== ==136791== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136791== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136791== by 0x491A603: Curl_open (url.c:517) ==136791== by 0x48952AF: curl_easy_init (easy.c:377) ==136791== by 0x4001098: UnknownInlinedFun (lib562.c:51) ==136791== by 0x4001098: main (first.c:196) ==136791== ==136791== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136791== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136791== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136791== by 0x4A93FA5: tsearch (tsearch.c:290) ==136791== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136791== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136791== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136791== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136791== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136791== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136791== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136791== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136791== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136791== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136791== by 0x49B1142: setlocale (setlocale.c:337) ==136791== by 0x4001047: main (first.c:135) ==136791== ==136791== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136791== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136791== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136791== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136791== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136791== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136791== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136791== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136791== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136791== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136791== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136791== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136791== by 0x49B1142: setlocale (setlocale.c:337) ==136791== by 0x4001047: main (first.c:135) ==136791== === End of file valgrind562 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/10/valgrind565 ./libtest/lib565 http://127.0.0.1:43831/565 > log/10/stdout565 2> log/10/stderr565 565: 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 565 === Start of file commands.log ../libtool --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/valgrind565 ./libtest/lib565 http://127.0.0.1:43831/565 > log/10/stdout565 2> log/10/stderr565 === End of file commands.log === Start of file http_server.log 20:55:00.247022 ====> Client connect 20:55:00.247047 accept_connection 3 returned 4 20:55:00.247061 accept_connection 3 returned 0 20:55:00.247071 Read 93 bytes 20:55:00.247078 Process 93 bytes request 20:55:00.247089 Got request: GET /verifiedserver HTTP/1.1 20:55:00.247096 Are-we-friendly question received 20:55:00.247112 Wrote request (93 bytes) input to log/10/server.input 20:55:00.247124 Identifying ourselves as friends 20:55:00.247166 Response sent (57 bytes) and written to log/10/server.response 20:55:00.247173 special request received, no persistency 20:55:00.247179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file stderr565 URL: http://127.0.0.1:43831/565 === End of file stderr565 === Start of file valgrind565 ==136813== ==136813== Process terminating with default action of signal 4 (SIGILL) ==136813== Illegal opcode at address 0x491A6B3 ==136813== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136813== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136813== by 0x491A6B3: Curl_open (url.c:538) ==136813== by 0x48952AF: curl_easy_init (easy.c:377) ==136813== by 0x400109B: UnknownInlinedFuCMD (33792): ../libtool --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/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/9/stdout507 2> log/9/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/17/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 42765 > log/17/stdout563 2> log/17/stderr563 n (lib510.c:77) ==136813== by 0x400109B: main (first.c:196) ==136813== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136813== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136813== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136813== by 0x4A93FA5: tsearch (tsearch.c:290) ==136813== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136813== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136813== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136813== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136813== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136813== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136813== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136813== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136813== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136813== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136813== by 0x49B1142: setlocale (setlocale.c:337) ==136813== by 0x4001054: main (first.c:135) ==136813== ==136813== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136813== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136813== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136813== by 0x4A93FA5: tsearch (tsearch.c:290) ==136813== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136813== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136813== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136813== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136813== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136813== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136813== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136813== by 0x49B1142: setlocale (setlocale.c:337) ==136813== by 0x4001054: main (first.c:135) ==136813== ==136813== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136813== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136813== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136813== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136813== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136813== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136813== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136813== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136813== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136813== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136813== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136813== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136813== by 0x49B1142: setlocale (setlocale.c:337) ==136813== by 0x4001054: main (first.c:135) ==136813== ==136813== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136813== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136813== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136813== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136813== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136813== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136813== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136813== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136813== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136813== by 0x49B1142: setlocale (setlocale.c:337) ==136813== by 0x4001054: main (first.c:135) ==136813== ==136813== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136813== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136813== by 0x491A603: Curl_open (url.c:517) ==136813== by 0x48952AF: curl_easy_init (easy.c:377) ==136813== by 0x400109B: UnknownInlinedFun (lib510.c:77) ==136813== by 0x400109B: main (first.c:196) ==136813== ==136813== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136813== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136813== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136813== by 0x4A93FA5: tsearch (tsearch.c:290) ==136813== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136813== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136813== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136813== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136813== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136813== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136813== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136813== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136813== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136813== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136813== by 0x49B1142: setlocale (setlocale.c:337) ==136813== by 0x4001054: main (first.c:135) ==136813== ==136813== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136813== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136813== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136813== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136813== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136813== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136813== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136813== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136813== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136813== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136813== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136813== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136813== by 0x49B1142: setlocale (setlocale.c:337) ==136813== by 0x4001054: main (first.c:135) ==136813== === End of file valgrind565 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/9/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/9/stdout507 2> log/9/stderr507 lib507 returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/9/ dir after test 507 === Start of file commands.log ../libtool --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/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/9/stdout507 2> log/9/stderr507 === End of file commands.log === Start of file http_server.log 20:54:43.960159 ====> Client connect 20:54:43.960206 accept_connection 3 returned 4 20:54:43.960226 accept_connection 3 returned 0 20:54:43.960242 Read 93 bytes 20:54:43.960252 Process 93 bytes request 20:54:43.960265 Got request: GET /verifiedserver HTTP/1.1 20:54:43.960275 Are-we-friendly question received 20:54:43.960301 Wrote request (93 bytes) input to log/9/server.input 20:54:43.960318 Identifying ourselves as friends 20:54:43.960394 Response sent (57 bytes) and written to log/9/server.response 20:54:43.960405 special request received, no persistency 20:54:43.960414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==133141== ==133141== Process terminating with default action of signal 4 (SIGILL) ==133141== Illegal opcode at address 0x48E3D1B ==133141== at 0x48E3D1B: UnknownInlinedFun (string_fortified.h:59) ==133141== by 0x48E3D1B: UnknownInlinedFun (uint-table.c:40) ==133141== by 0x48E3D1B: Curl_multi_handle (multi.c:235) ==133141== by 0x40012F1: test.part.0 (lib507.c:45) ==133141== by 0x4001094: UnknownInlinedFun (lib507.c:43) ==133141== by 0x4001094: main (first.c:196) ==133141== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133141== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133141== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133141== by 0x4A93FA5: tsearch (tsearch.c:290) ==133141== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133141== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133141== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133141== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133141== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133141== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133141== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133141== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133141== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133141== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133141== by 0x49B1142: setlocale (setlocale.c:337) ==133141== by 0x4001041: main (first.c:135) ==133141== ==133141== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133141== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133141== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133141== by 0x4A93FA5: tsearch (tsearch.c:290) ==133141== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133141== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133141== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133141== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133141== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133141== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133141== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133141== by 0x49B1142: setlocale (setlocale.c:337) ==133141== by 0x4001041: main (first.c:135) ==133141== ==133141== 632 bytes in 1 blocks are definitely lost in loss record 613 of 655 ==133141== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133141== by 0x48E3C74: Curl_multi_handle (multi.c:226) ==133141== by 0x40012F1: test.part.0 (lib507.c:45) ==133141== by 0x4001094: UnknownInlinedFun (lib507.c:43) ==133141== by 0x4001094: main (first.c:196) ==133141== ==133141== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==133141== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133141== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133141== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133141== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133141== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133141== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133141== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133141== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133141== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133141== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133141== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133141== by 0x49B1142: setlocale (setlocale.c:337) ==133141== by 0x4001041: main (first.c:135) ==133141== ==133141== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 655 ==133141== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133141== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133141== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133141== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133141== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133141== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133141== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133141== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133141== by 0x49B1142: setlocale (setlocale.c:337) ==133141== by 0x4001041: main (first.c:135) ==133141== ==133141== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133141== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133141== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133141== by 0x4A93FA5: tsearch (tsearch.c:290) ==133141== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133141== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133141== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133141== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133141== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133141== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133141== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133141== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133141== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133141== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133141== by 0x49B1142: setlocale (setlocale.c:337) ==133141== by 0x4001041: main (first.c:135) ==133141== ==133141== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133141== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133141== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133141== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133141== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133141== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133141== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133141== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133141== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133141== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133141== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133141== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133141== by 0x49B1142: setlocale (setlocale.c:337) ==133141== by 0x4001041: main (first.c:135) ==133141== === End of file valgrind507 setenv ftp_proxy = http://127.0.0.1:35207/ 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/17/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 42765 > log/17/stdout563 2> log/17/stderr563 563: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 42765 > log/17/stdout563 2> log/17/stderr563 === End of file commands.log === Start of file ftp_server.log 20:54:59.989535 ====> Client connect 20:54:59.989657 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:59.989830 < "USER anonymous" 20:54:59.989854 > "331 We are happy you popped in![CR][LF]" 20:54:59.989956 < "PASS ftp@example.com" 20:54:59.989977 > "230 Welcome you silly person[CR][LF]" 20:54:59.990072 < "PWD" 20:54:59.990093 > "257 "/" is current directory[CR][LF]" 20:54:59.990192 < "EPSV" 20:54:59.990208 ====> Passive DATA channel requested by client 20:54:59.990217 DATA sockfilt for passive data channel starting... 20:54:59.991459 DATA sockfilt for passive data channel started (pid 136755) 20:54:59.991541 DATA sockfilt for passive data channel listens on port 41323 20:54:59.991567 > "229 Entering Passive Mode (|||41323|)[LF]" 20:54:59.991582 Client has been notified that DATA conn will be accepted on port 41323 20:54:59.991706 Client connects to port 41323 20:54:59.991730 ====> Client established passive DATA connection on port 41323 20:54:59.991775 < "TYPE I" 20:54:59.991794 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:59.991893 < "SIZE verifiedserver" 20:54:59.991919 > "213 18[CR][LF]" 20:54:59.992012 < "RETR verifiedserver" 20:54:59.992050 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:59.992120 =====> Closing passive DATA connection... 20:54:59.992135 Server disconnects passive DATA connection 20:54:59.992191 Server disconnected passive DATA connection 20:54:59.992209 DATA sockfilt for passive data channel quits (pid 136755) 20:54:59.992360 DATA sockfilt for passive data channel quit (pid 136755) 20:54:59.992377 =====> Closed passive DATA connection 20:54:59.992395 > "226 File transfer complete[CR][LF]" 20:55:00.035602 < "QUIT" 20:55:00.035642 > "221 bye bye baby[CR][LF]" 20:55:00.035916 MAIN sockfilt said DISC 20:55:00.035972 ====> Client disconnected 20:55:00.036040 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.210953 ====> Client connect 20:55:00.211170 Received DATA (on stdin) 20:55:00.211182 > 160 bytes data, server => client 20:55:00.211191 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.211198 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.211205 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.211255 < 16 bytes data, client => server 20:55:00.211267 'USER anonymous\r\n' 20:55:00.211361 Received DATA (on stdin) 20:55:00.211370 > 33 bytes data, server => client 20:55:00.211378 '331 We are happy you popped in!\r\n' 20:55:00.211414 < 22 bytes data, client => server 20:55:00.211425 'PASS ftp@example.com\r\n' 20:55:00.211482 Received DATA (on stdin) 20:55:00.211490 > 30 bytes data, server => client 20:55:00.211497 '230 Welcome you silly person\r\n' 20:55:00.211532 < 5 bytes data, client => server 20:55:00.211543 'PWD\r\n' 20:55:00.211597 Received DATA (on stdin) 20:55:00.211606 > 30 bytes data, server => client 20:55:00.211613 '257 "/" is current directory\r\n' 20:55:00.211653 < 6 bytes data, client => server 20:55:00.211664 'EPSV\r\n' 20:55:00.213060 Received DATA (on stdin) 20:55:00.213072 > 38 bytes data, server => client 20:55:00.213082 '229 Entering Passive Mode (|||41323|)\n' 20:55:00.213195 < 8 bytes data, client => server 20:55:00.213206 'TYPE I\r\n' 20:55:00.213300 Received DATA (on stdin) 20:55:00.213308 > 33 bytes data, server => client 20:55:00.213316 '200 I modify TYPE as you wanted\r\n' 20:55:00.213352 < 21 bytes data, client => server 20:55:00.213364 'SIZE verifiedserver\r\n' 20:55:00.213423 Received DATA (on stdin) 20:55:00.213432 > 8 bytes data, server => client 20:55:00.213439 '213 18\r\n' 20:55:00.213473 < 21 bytes data, client => server 20:55:00.213484 'RETR verifiedserver\r\n' 20:55:00.213620 Received DATA (on stdin) 20:55:00.213632 > 29 bytes data, server => client 20:55:00.213641 '150 Binary junk (18 bytes).\r\n' 20:55:00.213901 Received DATA (on stdin) 20:55:00.213911 > 28 bytes data, server => client 20:55:00.213918 '226 File transfer complete\r\n' 20:55:00.256986 < 6 bytes data, client => server 20:55:00.257005 'QUIT\r\n' 20:55:00.257152 Received DATA (on stdin) 20:55:00.257161 > 18 bytes data, server => client 20:55:00.257168 '221 bye bye baby\r\n' 20:55:00.257288 ====> Client disconnect 20:55:00.257554 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:59.212753 Running IPv4 version 20:54:59.212797 Listening on port 41323 20:54:59.212823 Wrote pid 136755 to log/17/server/ftp_sockdata.pid 20:54:59.212908 Received PING (on stdin) 20:54:59.212987 Received PORT (on stdin) 20:54:59.213172 ====> Client connect 20:54:59.213566 Received DATA (on stdin) 20:54:59.213577 > 18 bytes data, server => client 20:54:59.213587 'WE ROOLZ: 110706\r\n' 20:54:59.213647 Received DISC (on stdin) 20:54:59.213658 ====> Client forcibly disconnected 20:54:59.213721 Received QUIT (on stdin) 20:54:59.213732 quits 20:54:59.213773 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 20:55:00.195026 ====> Client connect 20:55:00.195050 accept_connection 3 returned 4 20:55:00.195063 accept_connection 3 returned 0 20:55:00.195073 Read 93 bytes 20:55:00.195081 Process 93 bytes request 20:55:00.195091 Got request: GET /verifiedserver HTTP/1.1 20:55:00.195098 Are-we-friendly question received 20:55:00.195115 Wrote request (93 bytes) input to log/17/server.input 20:55:00.195127 Identifying ourselves as friends 20:55:00.195168 Response sent (57 bytes) and written to log/17/server.response 20:55:00.195175 special request received, no persistency 20:55:00.195181 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === 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 ==136833== ==136833== Process terminating with default action of signal 4 (SIGILL) ==136833== Illegal opcode at address 0x491A6B3 ==136833== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136833== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136833== by 0x491A6B3: Curl_open (url.c:538) ==136833== by 0x48952AF: curl_easy_init (easy.c:377) ==136833== by 0x4001098: UnknownInlinedFun (lib562.c:51) ==136833== by 0x4001098: main (first.c:196) ==136833== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136833== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136833== by 0x4A93FA5: tsearch (tsearch.c:290) ==136833== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136833== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136833== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136833== by 0x49B1142: setlocale (setlocale.c:337) ==136833== by 0x4001047: main (first.c:135) ==136833== ==136833== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136833== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136833== by 0x4A93FA5: tsearch (tsearch.c:290) ==136833== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136833== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136833== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind514 ./libtest/lib514 http://127.0.0.1:44239/514 > log/22/stdout514 2> log/22/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/8/valgrind509 ./libtest/lib509 nothing > log/8/stdout509 2> log/8/stderr509 ) ==136833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136833== by 0x49B1142: setlocale (setlocale.c:337) ==136833== by 0x4001047: main (first.c:135) ==136833== ==136833== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136833== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136833== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136833== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136833== by 0x49B1142: setlocale (setlocale.c:337) ==136833== by 0x4001047: main (first.c:135) ==136833== ==136833== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136833== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136833== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136833== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136833== by 0x49B1142: setlocale (setlocale.c:337) ==136833== by 0x4001047: main (first.c:135) ==136833== ==136833== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136833== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136833== by 0x491A603: Curl_open (url.c:517) ==136833== by 0x48952AF: curl_easy_init (easy.c:377) ==136833== by 0x4001098: UnknownInlinedFun (lib562.c:51) ==136833== by 0x4001098: main (first.c:196) ==136833== ==136833== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136833== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136833== by 0x4A93FA5: tsearch (tsearch.c:290) ==136833== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136833== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136833== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136833== by 0x49B1142: setlocale (setlocale.c:337) ==136833== by 0x4001047: main (first.c:135) ==136833== ==136833== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136833== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136833== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136833== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136833== by 0x49B1142: setlocale (setlocale.c:337) ==136833== by 0x4001047: main (first.c:135) ==136833== === End of file valgrind563 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind566 ./libtest/lib566 http://127.0.0.1:35661/566 log/14/ip566 > log/14/stdout566 2> log/14/stderr566 * 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/8/valgrind509 ./libtest/lib509 nothing > log/8/stdout509 2> log/8/stderr509 509: stdout FAILED: --- log/8/check-expected 2025-06-04 20:55:00.899698669 +0000 +++ log/8/check-generated 2025-06-04 20:55:00.899698669 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/8/ dir after test 509 === Start of file check-expected Callbacks were invoked![LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind509 ./libtest/lib509 nothing > log/8/stdout509 2> log/8/stderr509 === End of file commands.log === 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 ==133284== ==133284== Process terminating with default action of signal 4 (SIGILL) ==133284== Illegal opcode at address 0x491A6B3 ==133284== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133284== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133284== by 0x491A6B3: Curl_open (url.c:538) ==133284== by 0x48952AF: curl_easy_init (easy.c:377) ==133284== by 0x40010CE: UnknownInlinedFun (lib509.c:93) ==133284== by 0x40010CE: main (first.c:196) ==133284== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133284== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133284== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133284== by 0x4A93FA5: tsearch (tsearch.c:290) ==133284== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133284== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133284== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133284== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133284== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133284== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133284== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133284== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133284== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133284== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133284== by 0x49B1142: setlocale (setlocale.c:337) ==133284== by 0x4001052: main (first.c:135) ==133284== ==133284== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133284== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133284== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133284== by 0x4A93FA5: tsearch (tsearch.c:290) ==133284== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133284== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133284== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133284== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133284== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133284== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133284== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133284== by 0x49B1142: setlocale (setlocale.c:337) ==133284== by 0x4001052: main (first.c:135) ==133284== ==133284== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133284== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133284== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133284== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133284== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133284== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133284== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133284== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133284== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133284== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133284== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133284== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133284== by 0x49B1142: setlocale (setlocale.c:337) ==133284== by 0x4001052: main (first.c:135) ==133284== ==133284== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133284== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133284== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133284== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133284== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133284== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133284== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133284== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133284== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133284== by 0x49B1142: setlocale (setlocale.c:337) ==133284== by 0x4001052: main (first.c:135) ==133284== ==133284== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133284== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133284== by 0x491A603: Curl_open (url.c:517) ==133284== by 0x48952AF: curl_easy_init (easy.c:377) ==133284== by 0x40010CE: UnknownInlinedFun (lib509.c:93) ==133284== by 0x40010CE: main (first.c:196) ==133284== ==133284== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133284== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133284== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133284== by 0x4A93FA5: tsearch (tsearch.c:290) ==133284== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133284== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133284== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133284== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133284== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133284== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133284== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133284== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133284== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133284== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133284== by 0x49B1142: setlocale (setlocale.c:337) ==133284== by 0x4001052: main (first.c:135) ==133284== ==133284== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133284== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133284== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133284== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133284== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133284== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133284== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133284== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133284== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133284== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133284== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133284== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133284== by 0x49B1142: setlocale (setlocale.c:337) ==133284== by 0x4001052: main (first.c:135) ==133284== === End of file valgrind509 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/14/valgrind566 ./libtest/lib566 http://127.0.0.1:35661/566 log/14/ip566 > log/14/stdout566 2> log/14/stderr566 566: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind566 ./libtest/lib566 http://127.0.0.1:35661/566 log/14/ip566 > log/14/stdout566 2> log/14/stderr566 === End of file commands.log === Start of file http_server.log 20:55:00.467661 ====> Client connect 20:55:00.467685 accept_connection 3 returned 4 20:55:00.467698 accept_connection 3 returned 0 20:55:00.467709 Read 93 bytes 20:55:00.467717 Process 93 bytes request 20:55:00.467727 Got request: GET /verifiedserver HTTP/1.1 20:55:00.467733 Are-we-friendly question received 20:55:00.467750 Wrote request (93 bytes) input to log/14/server.input 20:55:00.467762 Identifying ourselves as friends 20:55:00.467849 Response sent (57 bytes) and written to log/14/server.response 20:55:00.467856 special request received, no persistency 20:55:00.467863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:35661/566 === End of file stderr566 === Start of file valgrind566 ==136966== ==136966== Process terminating with default action of signal 4 (SIGILL) ==136966== Illegal opcode at address 0x491A6B3 ==136966== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==136966== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==136966== by 0x491A6B3: Curl_open (url.c:538) ==136966== by 0x48952AF: curl_easy_init (easy.c:377) ==136966== by 0x40010AE: UnknownInlinedFun (lib566.c:40) ==136966== by 0x40010AE: main (first.c:196) ==136966== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==136966== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136966== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136966== by 0x4A93FA5: tsearch (tsearch.c:290) ==136966== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136966== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136966== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136966== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136966== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136966== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136966== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136966== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136966== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136966== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136966== by 0x49B1142: setlocale (setlocale.c:337) ==136966== by 0x4001052: main (first.c:135) ==136966== ==136966== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==136966== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136966== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136966== by 0x4A93FA5: tsearch (tsearch.c:290) ==136966== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136966== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136966== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136966== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136966== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136966== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136966== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136966== by 0x49B1142: setlocale (setlocale.c:337) ==136966== by 0x4001052: main (first.c:135) ==136966== ==136966== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==136966== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136966== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136966== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136966== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136966== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136966== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136966== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==136966== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136966== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136966== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136966== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136966== by 0x49B1142: setlocale (setlocale.c:337) ==136966== by 0x4001052: main (first.c:135) ==136966== ==136966== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==136966== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136966== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136966== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==136966== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==136966== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136966== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136966== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136966== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136966== by 0x49B1142: setlocale (setlocale.c:337) ==136966== by 0x4001052: main (first.c:135) ==136966== ==136966== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==136966== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==136966== by 0x491A603: Curl_open (url.c:517) ==136966== by 0x48952AF: curl_easy_init (easy.c:377) ==136966== by 0x40010AE: UnknownInlinedFun (lib566.c:40) ==136966== by 0x40010AE: main (first.c:196) ==136966== ==136966== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==136966== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136966== by 0x4A93FA5: __tsearch (tsearch.c:337) ==136966== by 0x4A93FA5: tsearch (tsearch.c:290) ==136966== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==136966== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136966== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136966== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136966== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136966== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136966== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136966== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136966== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136966== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136966== by 0x49B1142: setlocale (setlocale.c:337) ==136966== by 0x4001052: main (first.c:135) ==136966== ==136966== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==136966== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==136966== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==136966== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==136966== by 0x49A63F0: add_alias (gconv_conf.c:178) ==136966== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136966== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136966== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==136966== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136966== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136966== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==136966== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==136966== by 0x49B1142: setlocale (setlocale.c:337) ==136CMD (33792): ../libtool --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/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/3/stdout504 2> log/3/stderr504 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/19/valgrind573 ./libtest/lib573 http://127.0.0.1:46549/573 > log/19/stdout573 2> log/19/stderr573 966== by 0x4001052: main (first.c:135) ==136966== === End of file valgrind566 * 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/3/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/3/stdout504 2> log/3/stderr504 lib504 returned 132, when expecting 120 504: exit FAILED == Contents of files in the log/3/ dir after test 504 === Start of file commands.log ../libtool --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/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/3/stdout504 2> log/3/stderr504 === End of file commands.log === 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 valgrind504 ==133013== ==133013== Process terminating with default action of signal 4 (SIGILL) ==133013== Illegal opcode at address 0x491A6B3 ==133013== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133013== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133013== by 0x491A6B3: Curl_open (url.c:538) ==133013== by 0x48952AF: curl_easy_init (easy.c:377) ==133013== by 0x40012E9: test.part.0 (lib504.c:51) ==133013== by 0x40010A5: UnknownInlinedFun (lib504.c:49) ==133013== by 0x40010A5: main (first.c:196) ==133013== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133013== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133013== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133013== by 0x4A93FA5: tsearch (tsearch.c:290) ==133013== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133013== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133013== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133013== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133013== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133013== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133013== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133013== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133013== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133013== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133013== by 0x49B1142: setlocale (setlocale.c:337) ==133013== by 0x4001041: main (first.c:135) ==133013== ==133013== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133013== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133013== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133013== by 0x4A93FA5: tsearch (tsearch.c:290) ==133013== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133013== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133013== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133013== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133013== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133013== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133013== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133013== by 0x49B1142: setlocale (setlocale.c:337) ==133013== by 0x4001041: main (first.c:135) ==133013== ==133013== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133013== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133013== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133013== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133013== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133013== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133013== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133013== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133013== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133013== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133013== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133013== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133013== by 0x49B1142: setlocale (setlocale.c:337) ==133013== by 0x4001041: main (first.c:135) ==133013== ==133013== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133013== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133013== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133013== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133013== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133013== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133013== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133013== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133013== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133013== by 0x49B1142: setlocale (setlocale.c:337) ==133013== by 0x4001041: main (first.c:135) ==133013== ==133013== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133013== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133013== by 0x491A603: Curl_open (url.c:517) ==133013== by 0x48952AF: curl_easy_init (easy.c:377) ==133013== by 0x40012E9: test.part.0 (lib504.c:51) ==133013== by 0x40010A5: UnknownInlinedFun (lib504.c:49) ==133013== by 0x40010A5: main (first.c:196) ==133013== ==133013== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133013== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133013== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133013== by 0x4A93FA5: tsearch (tsearch.c:290) ==133013== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133013== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133013== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133013== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133013== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133013== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133013== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133013== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133013== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133013== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133013== by 0x49B1142: setlocale (setlocale.c:337) ==133013== by 0x4001041: main (first.c:135) ==133013== ==133013== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133013== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133013== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133013== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133013== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133013== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133013== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133013== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133013== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133013== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133013== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133013== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133013== by 0x49B1142: setlocale (setlocale.c:337) ==133013== by 0x4001041: main (first.c:135) ==133013== === End of file valgrind504 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/19/valgrind573 ./libtest/lib573 http://127.0.0.1:46549/573 > log/19/stdout573 2> log/19/stderr573 573: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind573 ./libtest/lib573 http://127.0.0.1:46549/573 > log/19/stdout573 2> log/19/stderr573 === End of file commands.log === Start of file http_server.log 20:55:00.699580 ====> Client connect 20:55:00.699601 accept_connection 3 returned 4 20:55:00.699613 accept_connection 3 returned 0 20:55:00.699622 Read 93 bytes 20:55:00.699630 Process 93 bytes request 20:55:00.699640 Got request: GET /verifiedserver HTTP/1.1 20:55:00.699647 Are-we-friendly question received 20:55:00.699664 Wrote request (93 bytes) input to log/19/server.input 20:55:00.699675 Identifying ourselves as friends 20:55:00.699712 Response sent (57 bytes) and written to log/19/server.response 20:55:00.699719 special request received, no persistency 20:55:00.699726 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:46549/573 === End of file stderr573 === Start of file valgrind573 ==137074== ==137074== Process terminating with default action of signal 4 (SIGILL) ==137074== Illegal opcode at address 0x491A6B3 ==137074== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137074== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137074== by 0x491A6B3: Curl_open (url.c:538) ==137074== by 0x48952AF: curl_easy_init (easy.c:377) ==137074== by 0x4001307: test (lib573.c:55) ==137074== by 0x400106C: main (first.c:196) ==137074== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137074== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137074== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137074== by 0x4A93FA5: tsearch (tsearch.c:290) ==137074== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137074== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137074== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137074== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137074== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137074== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137074== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137074== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137074== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137074== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137074== by 0x49B1142: setlocale (setlocale.c:337) ==137074== by 0x4001041: main (first.c:135) ==137074== ==137074== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137074== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137074== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137074== by 0x4A93FA5: tsearch (tsearch.c:290) ==137074== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137074== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137074== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137074== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137074== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137074== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137074== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137074== by 0x49B1142: setlocale (setlocale.c:337) ==137074== by 0x4001041: main (first.c:135) ==137074== ==137074== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137074== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137074== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137074== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137074== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137074== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137074== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137074== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137074== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137074== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137074== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137074== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137074== by 0x49B1142: setlocale (setlocale.c:337) ==137074== by 0x4001041: main (first.c:135) ==137074== ==137074== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137074== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137074== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137074== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137074== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137074== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137074== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137074== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137074== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137074== by 0x49B1142: setlocale (setlocale.c:337) ==137074== by 0x4001041: main (first.c:135) ==137074== ==137074== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137074== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137074== by 0x491A603: Curl_open (url.c:517) ==137074== by 0x48952AF: curl_easy_init (easy.c:377) ==137074== by 0x4001307: test (lib573.c:55) ==137074== by 0x400106C: main (first.c:196) ==137074== ==137074== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137074== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137074== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137074== by 0x4A93FA5: tsearch (tsearch.c:290) ==137074== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137074== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137074== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137074== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137074== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137074== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137074== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137074== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137074== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137074== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137074== by 0x49B1142: setlocale (setlocale.c:337) ==137074== by 0x4001041: main (first.c:135) ==137074== ==137074== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137074== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137074== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137074== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137074== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137074== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137074== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137074== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137074== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137074== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137074== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137074== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137074== by 0x49B1142: setlocale (setlocale.c:337) ==137074== by 0x4001041: 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/6/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/6/stdout501 2> log/6/stderr501 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/15/valgrind503 ./libtest/lib503 http://machine.503:39051/503 127.0.0.1:46151 > log/15/stdout503 2> log/15/stderr503 35) ==137074== === End of file valgrind573 * 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/6/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/6/stdout501 2> log/6/stderr501 lib501 returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/6/ dir after test 501 === Start of file commands.log ../libtool --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/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/6/stdout501 2> log/6/stderr501 === End of file commands.log === 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 ==132700== ==132700== Process terminating with default action of signal 4 (SIGILL) ==132700== Illegal opcode at address 0x491A6B3 ==132700== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==132700== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==132700== by 0x491A6B3: Curl_open (url.c:538) ==132700== by 0x48952AF: curl_easy_init (easy.c:377) ==132700== by 0x400107E: UnknownInlinedFun (lib501.c:40) ==132700== by 0x400107E: main (first.c:196) ==132700== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==132700== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132700== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132700== by 0x4A93FA5: tsearch (tsearch.c:290) ==132700== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132700== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132700== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132700== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132700== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==132700== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==132700== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132700== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132700== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132700== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132700== by 0x49B1142: setlocale (setlocale.c:337) ==132700== by 0x4001041: main (first.c:135) ==132700== ==132700== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==132700== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132700== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132700== by 0x4A93FA5: tsearch (tsearch.c:290) ==132700== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132700== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==132700== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==132700== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132700== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132700== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132700== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132700== by 0x49B1142: setlocale (setlocale.c:337) ==132700== by 0x4001041: main (first.c:135) ==132700== ==132700== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==132700== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132700== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132700== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132700== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132700== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132700== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==132700== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==132700== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132700== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132700== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132700== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132700== by 0x49B1142: setlocale (setlocale.c:337) ==132700== by 0x4001041: main (first.c:135) ==132700== ==132700== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==132700== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132700== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132700== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==132700== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==132700== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132700== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132700== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132700== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132700== by 0x49B1142: setlocale (setlocale.c:337) ==132700== by 0x4001041: main (first.c:135) ==132700== ==132700== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==132700== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==132700== by 0x491A603: Curl_open (url.c:517) ==132700== by 0x48952AF: curl_easy_init (easy.c:377) ==132700== by 0x400107E: UnknownInlinedFun (lib501.c:40) ==132700== by 0x400107E: main (first.c:196) ==132700== ==132700== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==132700== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132700== by 0x4A93FA5: __tsearch (tsearch.c:337) ==132700== by 0x4A93FA5: tsearch (tsearch.c:290) ==132700== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==132700== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132700== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132700== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132700== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==132700== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==132700== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132700== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132700== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132700== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132700== by 0x49B1142: setlocale (setlocale.c:337) ==132700== by 0x4001041: main (first.c:135) ==132700== ==132700== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==132700== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==132700== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==132700== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==132700== by 0x49A63F0: add_alias (gconv_conf.c:178) ==132700== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==132700== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==132700== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==132700== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==132700== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==132700== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==132700== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==132700== by 0x49B1142: setlocale (setlocale.c:337) ==132700== by 0x4001041: main (first.c:135) ==132700== === End of file valgrind501 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/15/valgrind503 ./libtest/lib503 http://machine.503:39051/503 127.0.0.1:46151 > log/15/stdout503 2> log/15/stderr503 503: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind503 ./libtest/lib503 http://machine.503:39051/503 127.0.0.1:46151 > log/15/stdout503 2> log/15/stderr503 === End of file commands.log === Start of file http2_server.log 20:54:43.943391 ====> Client connect 20:54:43.943424 accept_connection 3 returned 4 20:54:43.943442 accept_connection 3 returned 0 20:54:43.943456 Read 93 bytes 20:54:43.943466 Process 93 bytes request 20:54:43.943479 Got request: GET /verifiedserver HTTP/1.1 20:54:43.943488 Are-we-friendly question received 20:54:43.943511 Wrote request (93 bytes) input to log/15/proxy.input 20:54:43.943685 Identifying ourselves as friends 20:54:43.943774 Response sent (57 bytes) and written to log/15/proxy.response 20:54:43.943786 special request received, no persistency 20:54:43.943796 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:46151... * Connected to 127.0.0.1 (127.0.0.1) port 46151 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46151 > User-Agent: curl/8.14.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: 109525 === End of file http2_verify.out === Start of file http_server.log 20:54:43.916952 ====> Client connect 20:54:43.916982 accept_connection 3 returned 4 20:54:43.917000 accept_connection 3 returned 0 20:54:43.917015 Read 93 bytes 20:54:43.917025 Process 93 bytes request 20:54:43.917041 Got request: GET /verifiedserver HTTP/1.1 20:54:43.917052 Are-we-friendly question received 20:54:43.917077 Wrote request (93 bytes) input to log/15/server.input 20:54:43.917093 Identifying ourselves as friends 20:54:43.917148 Response sent (57 bytes) and written to log/15/server.response 20:54:43.917158 special request received, no persistency 20:54:43.917168 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 109525 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file stderr503 URL: http://machine.503:39051/503 === End of file stderr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==133112== ==133112== Process terminating with default action of signal 4 (SIGILL) ==133112== Illegal opcode at address 0x491A6B3 ==133112== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133112== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133112== by 0x491A6B3: Curl_open (url.c:538) ==133112== by 0x48952AF: curl_easy_init (easy.c:377) ==133112== by 0x40012E7: test.part.0 (lib503.c:51) ==133112== by 0x40010A5: UnknownInlinedFun (lib503.c:49) ==133112== by 0x40010A5: main (first.c:196) ==133112== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133112== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133112== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133112== by 0x4A93FA5: tsearch (tsearch.c:290) ==133112== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133112== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133112== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133112== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133112== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133112== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133112== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133112== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133112== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133112== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133112== by 0x49B1142: setlocale (setlocale.c:337) ==133112== by 0x4001041: main (first.c:135) ==133112== ==133112== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133112== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133112== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133112== by 0x4A93FA5: tsearch (tsearch.c:290) ==133112== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133112== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133112== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133112== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133112== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133112== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133112== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133112== by 0x49B1142: setlocale (setlocale.c:337) ==133112== by 0x4001041: main (first.c:135) ==133112== ==133112== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133112== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133112== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133112== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133112== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133112== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133112== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133112== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133112== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133112== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133112== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133112== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133112== by 0x49B1142: setlocale (setlocale.c:337) ==133112== by 0x4001041: main (first.c:135) ==133112== ==133112== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133112== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133112== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133112== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133112== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133112== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133112== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133112== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133112== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133112== by 0x49B1142: setlocale (setlocale.c:337) ==133112== by 0x4001041: main (first.c:135) ==133112== ==133112== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133112== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133112== by 0x491A603: Curl_open (url.c:517) ==133112== by 0x48952AF: curl_easy_init (easy.c:377) ==133112== by 0x40012E7: test.part.0 (lib503.c:51) ==133112== by 0x40010A5: UnknownInlinedFun (lib503.c:49) ==133112== by 0x40010A5: main (first.c:196) ==133112== ==133112== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133112== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133112== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133112== by 0x4A93FA5: tsearch (tsearch.c:290) ==133112== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133112== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133112== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133112== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133112== by 0x49A6775: gconv_parseconCMD (33792): ../libtool --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/valgrind574 ./libtest/lib574 ftp://127.0.0.1:45405/fully_simulated/UNIX/*.txt > log/11/stdout574 2> log/11/stderr574 fdir (gconv_parseconfdir.h:170) ==133112== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133112== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133112== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133112== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133112== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133112== by 0x49B1142: setlocale (setlocale.c:337) ==133112== by 0x4001041: main (first.c:135) ==133112== ==133112== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133112== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133112== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133112== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133112== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133112== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133112== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133112== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133112== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133112== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133112== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133112== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133112== by 0x49B1142: setlocale (setlocale.c:337) ==133112== by 0x4001041: main (first.c:135) ==133112== === End of file valgrind503 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/11/valgrind574 ./libtest/lib574 ftp://127.0.0.1:45405/fully_simulated/UNIX/*.txt > log/11/stdout574 2> log/11/stderr574 574: stdout FAILED: --- log/11/check-expected 2025-06-04 20:55:01.166365343 +0000 +++ log/11/check-generated 2025-06-04 20:55:01.166365343 +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/11/ 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 commands.log ../libtool --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/valgrind574 ./libtest/lib574 ftp://127.0.0.1:45405/fully_simulated/UNIX/*.txt > log/11/stdout574 2> log/11/stderr574 === End of file commands.log === Start of file ftp_server.log 20:55:00.484578 ====> Client connect 20:55:00.484730 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:00.484944 < "USER anonymous" 20:55:00.484972 > "331 We are happy you popped in![CR][LF]" 20:55:00.485089 < "PASS ftp@example.com" 20:55:00.485108 > "230 Welcome you silly person[CR][LF]" 20:55:00.485207 < "PWD" 20:55:00.485228 > "257 "/" is current directory[CR][LF]" 20:55:00.485327 < "EPSV" 20:55:00.485345 ====> Passive DATA channel requested by client 20:55:00.485353 DATA sockfilt for passive data channel starting... 20:55:00.486893 DATA sockfilt for passive data channel started (pid 137073) 20:55:00.486997 DATA sockfilt for passive data channel listens on port 32819 20:55:00.487030 > "229 Entering Passive Mode (|||32819|)[LF]" 20:55:00.487042 Client has been notified that DATA conn will be accepted on port 32819 20:55:00.487226 Client connects to port 32819 20:55:00.487327 ====> Client established passive DATA connection on port 32819 20:55:00.487397 < "TYPE I" 20:55:00.487421 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:00.487604 < "SIZE verifiedserver" 20:55:00.487635 > "213 18[CR][LF]" 20:55:00.487822 < "RETR verifiedserver" 20:55:00.487861 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:00.487945 =====> Closing passive DATA connection... 20:55:00.487957 Server disconnects passive DATA connection 20:55:00.488043 Server disconnected passive DATA connection 20:55:00.488066 DATA sockfilt for passive data channel quits (pid 137073) 20:55:00.488391 DATA sockfilt for passive data channel quit (pid 137073) 20:55:00.488416 =====> Closed passive DATA connection 20:55:00.488445 > "226 File transfer complete[CR][LF]" 20:55:00.532400 < "QUIT" 20:55:00.532459 > "221 bye bye baby[CR][LF]" 20:55:00.533121 MAIN sockfilt said DISC 20:55:00.533154 ====> Client disconnected 20:55:00.533217 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.705992 ====> Client connect 20:55:00.706261 Received DATA (on stdin) 20:55:00.706275 > 160 bytes data, server => client 20:55:00.706283 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.706291 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.706298 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.706342 < 16 bytes data, client => server 20:55:00.706350 'USER anonymous\r\n' 20:55:00.706480 Received DATA (on stdin) 20:55:00.706489 > 33 bytes data, server => client 20:55:00.706497 '331 We are happy you popped in!\r\n' 20:55:00.706532 < 22 bytes data, client => server 20:55:00.706540 'PASS ftp@example.com\r\n' 20:55:00.706613 Received DATA (on stdin) 20:55:00.706621 > 30 bytes data, server => client 20:55:00.706629 '230 Welcome you silly person\r\n' 20:55:00.706659 < 5 bytes data, client => server 20:55:00.706667 'PWD\r\n' 20:55:00.706731 Received DATA (on stdin) 20:55:00.706739 > 30 bytes data, server => client 20:55:00.706746 '257 "/" is current directory\r\n' 20:55:00.706782 < 6 bytes data, client => server 20:55:00.706789 'EPSV\r\n' 20:55:00.708560 Received DATA (on stdin) 20:55:00.708573 > 38 bytes data, server => client 20:55:00.708583 '229 Entering Passive Mode (|||32819|)\n' 20:55:00.708689 < 8 bytes data, client => server 20:55:00.708703 'TYPE I\r\n' 20:55:00.708965 Received DATA (on stdin) 20:55:00.708980 > 33 bytes data, server => client 20:55:00.708988 '200 I modify TYPE as you wanted\r\n' 20:55:00.709041 < 21 bytes data, client => server 20:55:00.709050 'SIZE verifiedserver\r\n' 20:55:00.709144 Received DATA (on stdin) 20:55:00.709156 > 8 bytes data, server => client 20:55:00.709163 '213 18\r\n' 20:55:00.709232 < 21 bytes data, client => server 20:55:00.709251 'RETR verifiedserver\r\n' 20:55:00.709375 Received DATA (on stdin) 20:55:00.709389 > 29 bytes data, server => client 20:55:00.709397 '150 Binary junk (18 bytes).\r\n' 20:55:00.709959 Received DATA (on stdin) 20:55:00.709971 > 28 bytes data, server => client 20:55:00.709980 '226 File transfer complete\r\n' 20:55:00.753737 < 6 bytes data, client => server 20:55:00.753760 'QUIT\r\n' 20:55:00.753979 Received DATA (on stdin) 20:55:00.753999 > 18 bytes data, server => client 20:55:00.754007 '221 bye bye baby\r\n' 20:55:00.754581 ====> Client disconnect 20:55:00.754672 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:00.708267 Running IPv4 version 20:55:00.708305 Listening on port 32819 20:55:00.708337 Wrote pid 137073 to log/11/server/ftp_sockdata.pid 20:55:00.708350 Received PING (on stdin) 20:55:00.708429 Received PORT (on stdin) 20:55:00.708676 ====> Client connect 20:55:00.709469 Received DATA (on stdin) 20:55:00.709481 > 18 bytes data, server => client 20:55:00.709488 'WE ROOLZ: 110833\r\n' 20:55:00.709513 Received DISC (on stdin) 20:55:00.709522 ====> Client forcibly disconnected 20:55:00.709581 Received QUIT (on stdin) 20:55:00.709591 quits 20:55:00.709661 ============> 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:45405/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==137124== ==137124== Process terminating with default action of signal 4 (SIGILL) ==137124== Illegal opcode at address 0x491A6B3 ==137124== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137124== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137124== by 0x491A6B3: Curl_open (url.c:538) ==137124== by 0x48952AF: curl_easy_init (easy.c:377) ==137124== by 0x4001081: UnknownInlinedFun (lib574.c:49) ==137124== by 0x4001081: main (first.c:196) ==137124== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137124== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137124== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137124== by 0x4A93FA5: tsearch (tsearch.c:290) ==137124== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137124== by 0x49A63F0: add_alias2 (gconv_conf.c:176CMD (33792): ../libtool --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/valgrind575 ./libtest/lib575 ftp://127.0.0.1:45115/fully_simulated/UNIX/* > log/5/stdout575 2> log/5/stderr575 ) ==137124== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137124== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137124== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137124== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137124== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137124== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137124== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137124== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137124== by 0x49B1142: setlocale (setlocale.c:337) ==137124== by 0x4001041: main (first.c:135) ==137124== ==137124== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137124== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137124== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137124== by 0x4A93FA5: tsearch (tsearch.c:290) ==137124== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137124== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137124== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137124== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137124== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137124== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137124== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137124== by 0x49B1142: setlocale (setlocale.c:337) ==137124== by 0x4001041: main (first.c:135) ==137124== ==137124== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137124== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137124== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137124== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137124== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137124== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137124== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137124== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137124== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137124== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137124== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137124== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137124== by 0x49B1142: setlocale (setlocale.c:337) ==137124== by 0x4001041: main (first.c:135) ==137124== ==137124== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137124== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137124== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137124== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137124== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137124== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137124== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137124== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137124== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137124== by 0x49B1142: setlocale (setlocale.c:337) ==137124== by 0x4001041: main (first.c:135) ==137124== ==137124== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137124== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137124== by 0x491A603: Curl_open (url.c:517) ==137124== by 0x48952AF: curl_easy_init (easy.c:377) ==137124== by 0x4001081: UnknownInlinedFun (lib574.c:49) ==137124== by 0x4001081: main (first.c:196) ==137124== ==137124== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137124== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137124== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137124== by 0x4A93FA5: tsearch (tsearch.c:290) ==137124== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137124== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137124== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137124== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137124== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137124== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137124== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137124== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137124== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137124== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137124== by 0x49B1142: setlocale (setlocale.c:337) ==137124== by 0x4001041: main (first.c:135) ==137124== ==137124== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137124== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137124== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137124== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137124== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137124== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137124== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137124== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137124== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137124== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137124== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137124== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137124== by 0x49B1142: setlocale (setlocale.c:337) ==137124== by 0x4001041: main (first.c:135) ==137124== === 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/5/valgrind575 ./libtest/lib575 ftp://127.0.0.1:45115/fully_simulated/UNIX/* > log/5/stdout575 2> log/5/stderr575 575: stdout FAILED: --- log/5/check-expected 2025-06-04 20:55:01.176365342 +0000 +++ log/5/check-generated 2025-06-04 20:55:01.176365342 +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/5/ 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 commands.log ../libtool --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/valgrind575 ./libtest/lib575 ftp://127.0.0.1:45115/fully_simulated/UNIX/* > log/5/stdout575 2> log/5/stderr575 === End of file commands.log === Start of file ftp_server.log 20:55:00.484478 ====> Client connect 20:55:00.484595 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:00.484813 < "USER anonymous" 20:55:00.484840 > "331 We are happy you popped in![CR][LF]" 20:55:00.484981 < "PASS ftp@example.com" 20:55:00.484999 > "230 Welcome you silly person[CR][LF]" 20:55:00.485103 < "PWD" 20:55:00.485123 > "257 "/" is current directory[CR][LF]" 20:55:00.485231 < "EPSV" 20:55:00.485248 ====> Passive DATA channel requested by client 20:55:00.485257 DATA sockfilt for passive data channel starting... 20:55:00.486534 DATA sockfilt for passive data channel started (pid 137072) 20:55:00.486670 DATA sockfilt for passive data channel listens on port 37213 20:55:00.486711 > "229 Entering Passive Mode (|||37213|)[LF]" 20:55:00.486728 Client has been notified that DATA conn will be accepted on port 37213 20:55:00.487008 Client connects to port 37213 20:55:00.487099 ====> Client established passive DATA connection on port 37213 20:55:00.487202 < "TYPE I" 20:55:00.487234 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:00.487443 < "SIZE verifiedserver" 20:55:00.487498 > "213 18[CR][LF]" 20:55:00.487682 < "RETR verifiedserver" 20:55:00.487720 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:00.487782 =====> Closing passive DATA connection... 20:55:00.487793 Server disconnects passive DATA connection 20:55:00.487990 Server disconnected passive DATA connection 20:55:00.488019 DATA sockfilt for passive data channel quits (pid 137072) 20:55:00.488457 DATA sockfilt for passive data channel quit (pid 137072) 20:55:00.488480 =====> Closed passive DATA connection 20:55:00.488504 > "226 File transfer complete[CR][LF]" 20:55:00.532316 < "QUIT" 20:55:00.532357 > "221 bye bye baby[CR][LF]" 20:55:00.533039 MAIN sockfilt said DISC 20:55:00.533061 ====> Client disconnected 20:55:00.533122 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.705900 ====> Client connect 20:55:00.706120 Received DATA (on stdin) 20:55:00.706137 > 160 bytes data, server => client 20:55:00.706147 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.706154 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.706161 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.706219 < 16 bytes data, client => server 20:55:00.706227 'USER anonymous\r\n' 20:55:00.706350 Received DATA (on stdin) 20:55:00.706363 > 33 bytes data, server => client 20:55:00.706371 '331 We are happy you popped in!\r\n' 20:55:00.706422 < 22 bytes data, client => server 20:55:00.706431 'PASS ftp@example.com\r\n' 20:55:00.706505 Received DATA (on stdin) 20:55:00.706513 > 30 bytes data, server => client 20:55:00.706521 '230 Welcome you silly person\r\n' 20:55:00.706553 < 5 bytes data, client => server 20:55:00.706561 'PWD\r\n' 20:55:00.706628 Received DATA (on stdin) 20:55:00.706636 > 30 bytes data, server => client 20:55:00.706644 '257 "/" is current directory\r\n' 20:55:00.706682 < 6 bytes data, client => server 20:55:00.706690 'EPSV\r\n' 20:55:00.708217 Received DATA (on stdin) 20:55:00.708243 > 38 bytes data, server => client 20:55:00.708322 '229 Entering Passive Mode (|||37213|)\n' 20:55:00.708430 < 8 bytes data, client => server 20:55:00.708443 'TYPE I\r\n' 20:55:00.708737 Received DATA (on stdin) 20:55:00.708757 > 33 bytes data, server => client 20:55:00.708766 '200 I modify TYPE as you wanted\r\n' 20:55:00.708845 < 21 bytes data, client => server 20:55:00.708858 'SIZE verifiedserver\r\n' 20:55:00.709012 Received DATA (on stdin) 20:55:00.709021 > 8 bytes data, server => client 20:55:00.709028 '213 18\r\n' 20:55:00.709101 < 21 bytes data, client => server 20:55:00.709113 'RETR verifiedserver\r\n' 20:55:00.709251 Received DATA (on stdin) 20:55:00.709264 > 29 bytes data, server => client 20:55:00.709272 '150 Binary junk (18 bytes).\r\n' 20:55:00.710015 Received DATA (on stdin) 20:55:00.710026 > 28 bytes data, server => client 20:55:00.710034 '226 File transfer complete\r\n' 20:55:00.753652 < 6 bytes data, client => server 20:55:00.753681 'QUIT\r\n' 20:55:00.753864 Received DATA (on stdin) 20:55:00.753873 > 18 bytes data, server => client 20:55:00.753881 '221 bye bye baby\r\n' 20:55:00.754505 ====> Client disconnect 20:55:00.754627 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:00.707857 Running IPv4 version 20:55:00.707905 Listening on port 37213 20:55:00.707940 Wrote pid 137072 to log/5/server/ftp_sockdata.pid 20:55:00.707954 Received PING (on stdin) 20:55:00.708092 Received PORT (on stdin) 20:55:00.708435 ====> Client connect 20:55:00.709304 Received DATA (on stdin) 20:55:00.709318 > 18 bytes data, server => client 20:55:00.709326 'WE ROOLZ: 110701\r\n' 20:55:00.709436 Received DISC (on stdin) 20:55:00.709445 ====> Client forcibly disconnected 20:55:00.709547 Received QUIT (on stdin) 20:55:00.709557 quits 20:55:00.709660 ============> 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:45115/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==137125== ==137125== Process terminating with default action of signal 4 (SIGILL) ==137125== Illegal opcode at address 0x491A6B3 ==137125== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137125== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137125== by 0x491A6B3: Curl_open (url.c:538) ==137125== by 0x48952AF: curl_easy_init (easy.c:377) ==137125== by 0x40012B7: test (lib575.c:52) ==137125== by 0x400106C: 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/17/valgrind579 ./libtest/lib579 http://127.0.0.1:35207/579 log/17/ip579 > log/17/stdout579 2> log/17/stderr579 in (first.c:196) ==137125== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137125== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137125== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137125== by 0x4A93FA5: tsearch (tsearch.c:290) ==137125== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137125== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137125== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137125== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137125== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137125== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137125== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137125== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137125== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137125== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137125== by 0x49B1142: setlocale (setlocale.c:337) ==137125== by 0x4001041: main (first.c:135) ==137125== ==137125== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137125== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137125== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137125== by 0x4A93FA5: tsearch (tsearch.c:290) ==137125== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137125== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137125== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137125== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137125== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137125== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137125== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137125== by 0x49B1142: setlocale (setlocale.c:337) ==137125== by 0x4001041: main (first.c:135) ==137125== ==137125== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137125== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137125== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137125== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137125== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137125== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137125== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137125== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137125== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137125== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137125== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137125== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137125== by 0x49B1142: setlocale (setlocale.c:337) ==137125== by 0x4001041: main (first.c:135) ==137125== ==137125== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137125== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137125== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137125== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137125== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137125== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137125== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137125== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137125== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137125== by 0x49B1142: setlocale (setlocale.c:337) ==137125== by 0x4001041: main (first.c:135) ==137125== ==137125== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137125== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137125== by 0x491A603: Curl_open (url.c:517) ==137125== by 0x48952AF: curl_easy_init (easy.c:377) ==137125== by 0x40012B7: test (lib575.c:52) ==137125== by 0x400106C: main (first.c:196) ==137125== ==137125== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137125== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137125== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137125== by 0x4A93FA5: tsearch (tsearch.c:290) ==137125== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137125== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137125== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137125== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137125== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137125== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137125== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137125== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137125== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137125== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137125== by 0x49B1142: setlocale (setlocale.c:337) ==137125== by 0x4001041: main (first.c:135) ==137125== ==137125== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137125== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137125== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137125== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137125== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137125== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137125== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137125== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137125== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137125== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137125== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137125== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137125== by 0x49B1142: setlocale (setlocale.c:337) ==137125== by 0x4001041: main (first.c:135) ==137125== === End of file valgrind575 CMD (33792): ../libtool --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/valgrind578 ./libtest/lib578 http://127.0.0.1:46863/578 log/9/ip578 > log/9/stdout578 2> log/9/stderr578 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/17/valgrind579 ./libtest/lib579 http://127.0.0.1:35207/579 log/17/ip579 > log/17/stdout579 2> log/17/stderr579 579: data FAILED: --- log/17/check-expected 2025-06-04 20:55:01.449698683 +0000 +++ log/17/check-generated 2025-06-04 20:55:01.449698683 +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/17/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind579 ./libtest/lib579 http://127.0.0.1:35207/579 log/17/ip579 > log/17/stdout579 2> log/17/stderr579 === End of file commands.log === Start of file http_server.log 20:55:00.961042 ====> Client connect 20:55:00.961119 accept_connection 3 returned 4 20:55:00.961162 accept_connection 3 returned 0 20:55:00.961178 Read 93 bytes 20:55:00.961186 Process 93 bytes request 20:55:00.961194 Got request: GET /verifiedserver HTTP/1.1 20:55:00.961201 Are-we-friendly question received 20:55:00.961221 Wrote request (93 bytes) input to log/17/server.input 20:55:00.961233 Identifying ourselves as friends 20:55:00.961276 Response sent (57 bytes) and written to log/17/server.response 20:55:00.961283 special request received, no persistency 20:55:00.961290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:35207/579 === End of file stderr579 === Start of file valgrind579 ==137273== ==137273== Process terminating with default action of signal 4 (SIGILL) ==137273== Illegal opcode at address 0x491A6B3 ==137273== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137273== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137273== by 0x491A6B3: Curl_open (url.c:538) ==137273== by 0x48952AF: curl_easy_init (easy.c:377) ==137273== by 0x40010AC: UnknownInlinedFun (lib579.c:117) ==137273== by 0x40010AC: main (first.c:196) ==137273== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137273== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137273== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137273== by 0x4A93FA5: tsearch (tsearch.c:290) ==137273== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137273== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137273== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137273== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137273== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137273== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137273== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137273== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137273== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137273== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137273== by 0x49B1142: setlocale (setlocale.c:337) ==137273== by 0x4001054: main (first.c:135) ==137273== ==137273== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137273== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137273== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137273== by 0x4A93FA5: tsearch (tsearch.c:290) ==137273== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137273== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137273== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137273== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137273== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137273== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137273== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137273== by 0x49B1142: setlocale (setlocale.c:337) ==137273== by 0x4001054: main (first.c:135) ==137273== ==137273== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137273== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137273== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137273== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137273== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137273== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137273== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137273== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137273== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137273== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137273== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137273== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137273== by 0x49B1142: setlocale (setlocale.c:337) ==137273== by 0x4001054: main (first.c:135) ==137273== ==137273== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137273== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137273== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137273== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137273== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137273== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137273== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137273== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137273== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137273== by 0x49B1142: setlocale (setlocale.c:337) ==137273== by 0x4001054: main (first.c:135) ==137273== ==137273== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137273== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137273== by 0x491A603: Curl_open (url.c:517) ==137273== by 0x48952AF: curl_easy_init (easy.c:377) ==137273== by 0x40010AC: UnknownInlinedFun (lib579.c:117) ==137273== by 0x40010AC: main (first.c:196) ==137273== ==137273== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137273== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137273== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137273== by 0x4A93FA5: tsearch (tsearch.c:290) ==137273== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137273== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137273== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137273== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137273== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137273== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137273== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137273== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137273== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137273== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137273== by 0x49B1142: setlocale (setlocale.c:337) ==137273== by 0x4001054: main (first.c:135) ==137273== ==137273== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137273== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137273== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137273== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137273== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137273== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137273== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137273== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137273== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137273== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137273== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137273== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137273== by 0x49B1142: setlocale (setlocale.c:337) ==137273== by 0x4001054: main (first.c:135) ==137273== === End of file valgrind579 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/9/valgrind578 ./libtest/lib578 http://127.0.0.1:46863/578 log/9/ip578 > log/9/stdout578 2> log/9/stderr578 578: data FAILED: --- log/9/check-expected 2025-06-04 20:55:01.459698683 +0000 +++ log/9/check-generated 2025-06-04 20:55:01.459698683 +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/9/ 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 commands.log ../libtool --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/valgrind578 ./libtest/lib578 http://127.0.0.1:46863/578 log/9/ip578 > log/9/stdout578 2> log/9/stderr578 === End of file commands.log === Start of file http_server.log 20:55:00.960054 ====> Client connect 20:55:00.960085 accept_connection 3 returned 4 20:55:00.960101 accept_connection 3 returned 0 20:55:00.960113 Read 93 bytes 20:55:00.960123 Process 93 bytes request 20:55:00.960135 Got request: GET /verifiedserver HTTP/1.1 20:55:00.960143 Are-we-friendly question received 20:55:00.960164 Wrote request (93 bytes) input to log/9/server.input 20:55:00.960180 Identifying ourselves as friends 20:55:00.960234 Response sent (57 bytes) and written to log/9/server.response 20:55:00.960244 special request received, no persistency 20:55:00.960253 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:46863/578 === End of file stderr578 === Start of file valgrind578 ==137268== ==137268== Process terminating with default action of signal 4 (SIGILL) ==137268== Illegal opcode at address 0x491A6B3 ==137268== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137268== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137268== by 0x491A6B3: Curl_open (url.c:538) ==137268== by 0x48952AF: curl_easy_init (easy.c:377) ==137268== by 0x4001092: UnknownInlinedFun (lib578.c:63) ==137268== by 0x4001092: main (first.c:196) ==137268== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137268== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137268== by 0x4A93FA5: tsearch (tsearch.c:290) ==137268== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137268== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137268== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137268== by 0x49B1142: setlocale (setlocale.c:337) ==137268== by 0x4001041: main (first.c:135) ==137268== ==137268== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137268== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137268== by 0x4A93FA5: tsearch (tsearch.c:290) ==137268== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137268== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137268== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137268== by 0x49B1142: setlocale (setlocale.c:337) ==137268== by 0x4001041: main (first.c:135) ==137268== ==137268== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137268== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137268== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137268== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137268== by 0x49B1142: setlocale (setlocale.c:337) ==137268== by 0x4001041: main (first.c:135) ==137268== ==137268== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137268== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137268== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137268== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137268== by 0x49B1142: setlocale (setlocale.c:337) ==137268== by 0x4001041: main (first.c:135) ==137268== ==137268== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137268== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137268== by 0x491A603: Curl_open (url.c:517) ==137268== by 0x48952AF: curl_easy_init (easy.c:377) ==137268== by 0x4001092: UnknownInlinedFun (lib578.c:63) ==137268== by 0x4001092: main (first.c:196) ==137268== ==137268== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137268== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137268== by 0x4A93FA5: tsearch (tsearch.c:290) ==137268== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137268== by 0x49A6775: gconv_parseconfdir (gconv_parseconfCMD (33792): ../libtool --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/valgrind576 ./libtest/lib576 ftp://127.0.0.1:38967/fully_simulated/UNIX/* > log/12/stdout576 2> log/12/stderr576 dir.h:170) ==137268== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137268== by 0x49B1142: setlocale (setlocale.c:337) ==137268== by 0x4001041: main (first.c:135) ==137268== ==137268== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137268== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137268== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137268== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137268== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137268== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137268== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137268== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137268== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137268== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137268== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137268== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137268== by 0x49B1142: setlocale (setlocale.c:337) ==137268== by 0x4001041: main (first.c:135) ==137268== === End of file valgrind578 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/12/valgrind576 ./libtest/lib576 ftp://127.0.0.1:38967/fully_simulated/UNIX/* > log/12/stdout576 2> log/12/stderr576 576: stdout FAILED: --- log/12/check-expected 2025-06-04 20:55:01.469698684 +0000 +++ log/12/check-generated 2025-06-04 20:55:01.469698684 +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/12/ 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 commands.log ../libtool --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/valgrind576 ./libtest/lib576 ftp://127.0.0.1:38967/fully_simulated/UNIX/* > log/12/stdout576 2> log/12/stderr576 === End of file commands.log === Start of file ftp_server.log 20:55:00.736657 ====> Client connect 20:55:00.736778 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:00.736971 < "USER anonymous" 20:55:00.736996 > "331 We are happy you popped in![CR][LF]" 20:55:00.737107 < "PASS ftp@example.com" 20:55:00.737125 > "230 Welcome you silly person[CR][LF]" 20:55:00.737222 < "PWD" 20:55:00.737241 > "257 "/" is current directory[CR][LF]" 20:55:00.737342 < "EPSV" 20:55:00.737358 ====> Passive DATA channel requested by client 20:55:00.737367 DATA sockfilt for passive data channel starting... 20:55:00.738509 DATA sockfilt for passive data channel started (pid 137266) 20:55:00.738589 DATA sockfilt for passive data channel listens on port 33865 20:55:00.738613 > "229 Entering Passive Mode (|||33865|)[LF]" 20:55:00.738626 Client has been notified that DATA conn will be accepted on port 33865 20:55:00.738792 Client connects to port 33865 20:55:00.738812 ====> Client established passive DATA connection on port 33865 20:55:00.738858 < "TYPE I" 20:55:00.738879 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:00.738997 < "SIZE verifiedserver" 20:55:00.739021 > "213 18[CR][LF]" 20:55:00.739118 < "RETR verifiedserver" 20:55:00.739139 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:00.739196 =====> Closing passive DATA connection... 20:55:00.739206 Server disconnects passive DATA connection 20:55:00.739340 Server disconnected passive DATA connection 20:55:00.739362 DATA sockfilt for passive data channel quits (pid 137266) 20:55:00.739539 DATA sockfilt for passive data channel quit (pid 137266) 20:55:00.739555 =====> Closed passive DATA connection 20:55:00.739574 > "226 File transfer complete[CR][LF]" 20:55:00.782389 < "QUIT" 20:55:00.782443 > "221 bye bye baby[CR][LF]" 20:55:00.783048 MAIN sockfilt said DISC 20:55:00.783099 ====> Client disconnected 20:55:00.783169 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.958073 ====> Client connect 20:55:00.958292 Received DATA (on stdin) 20:55:00.958303 > 160 bytes data, server => client 20:55:00.958311 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.958319 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.958326 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.958375 < 16 bytes data, client => server 20:55:00.958384 'USER anonymous\r\n' 20:55:00.958504 Received DATA (on stdin) 20:55:00.958513 > 33 bytes data, server => client 20:55:00.958520 '331 We are happy you popped in!\r\n' 20:55:00.958554 < 22 bytes data, client => server 20:55:00.958561 'PASS ftp@example.com\r\n' 20:55:00.958630 Received DATA (on stdin) 20:55:00.958638 > 30 bytes data, server => client 20:55:00.958645 '230 Welcome you silly person\r\n' 20:55:00.958675 < 5 bytes data, client => server 20:55:00.958682 'PWD\r\n' 20:55:00.958745 Received DATA (on stdin) 20:55:00.958752 > 30 bytes data, server => client 20:55:00.958759 '257 "/" is current directory\r\n' 20:55:00.958796 < 6 bytes data, client => server 20:55:00.958804 'EPSV\r\n' 20:55:00.960136 Received DATA (on stdin) 20:55:00.960146 > 38 bytes data, server => client 20:55:00.960155 '229 Entering Passive Mode (|||33865|)\n' 20:55:00.960258 < 8 bytes data, client => server 20:55:00.960267 'TYPE I\r\n' 20:55:00.960388 Received DATA (on stdin) 20:55:00.960396 > 33 bytes data, server => client 20:55:00.960404 '200 I modify TYPE as you wanted\r\n' 20:55:00.960446 < 21 bytes data, client => server 20:55:00.960455 'SIZE verifiedserver\r\n' 20:55:00.960526 Received DATA (on stdin) 20:55:00.960534 > 8 bytes data, server => client 20:55:00.960540 '213 18\r\n' 20:55:00.960571 < 21 bytes data, client => server 20:55:00.960579 'RETR verifiedserver\r\n' 20:55:00.960668 Received DATA (on stdin) 20:55:00.960683 > 29 bytes data, server => client 20:55:00.960691 '150 Binary junk (18 bytes).\r\n' 20:55:00.961090 Received DATA (on stdin) 20:55:00.961107 > 28 bytes data, server => client 20:55:00.961115 '226 File transfer complete\r\n' 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/14/valgrind581 ./libtest/lib507 http://127.0.0.1:35661/581 > log/14/stdout581 2> log/14/stderr581 :55:01.003737 < 6 bytes data, client => server 20:55:01.003959 'QUIT\r\n' 20:55:01.003971 Received DATA (on stdin) 20:55:01.003979 > 18 bytes data, server => client 20:55:01.003986 '221 bye bye baby\r\n' 20:55:01.004501 ====> Client disconnect 20:55:01.004675 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:00.959889 Running IPv4 version 20:55:00.959931 Listening on port 33865 20:55:00.959960 Wrote pid 137266 to log/12/server/ftp_sockdata.pid 20:55:00.959972 Received PING (on stdin) 20:55:00.960034 Received PORT (on stdin) 20:55:00.960235 ====> Client connect 20:55:00.960713 Received DATA (on stdin) 20:55:00.960722 > 18 bytes data, server => client 20:55:00.960730 'WE ROOLZ: 110628\r\n' 20:55:00.960755 Received DISC (on stdin) 20:55:00.960764 ====> Client forcibly disconnected 20:55:00.960877 Received QUIT (on stdin) 20:55:00.960893 quits 20:55:00.960955 ============> 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:38967/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==137361== ==137361== Process terminating with default action of signal 4 (SIGILL) ==137361== Illegal opcode at address 0x491A6B3 ==137361== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137361== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137361== by 0x491A6B3: Curl_open (url.c:538) ==137361== by 0x48952AF: curl_easy_init (easy.c:377) ==137361== by 0x4001092: UnknownInlinedFun (lib576.c:107) ==137361== by 0x4001092: main (first.c:196) ==137361== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137361== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137361== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137361== by 0x4A93FA5: tsearch (tsearch.c:290) ==137361== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137361== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137361== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137361== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137361== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137361== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137361== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137361== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137361== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137361== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137361== by 0x49B1142: setlocale (setlocale.c:337) ==137361== by 0x4001052: main (first.c:135) ==137361== ==137361== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137361== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137361== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137361== by 0x4A93FA5: tsearch (tsearch.c:290) ==137361== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137361== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137361== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137361== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137361== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137361== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137361== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137361== by 0x49B1142: setlocale (setlocale.c:337) ==137361== by 0x4001052: main (first.c:135) ==137361== ==137361== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137361== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137361== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137361== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137361== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137361== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137361== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137361== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137361== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137361== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137361== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137361== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137361== by 0x49B1142: setlocale (setlocale.c:337) ==137361== by 0x4001052: main (first.c:135) ==137361== ==137361== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137361== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137361== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137361== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137361== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137361== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137361== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137361== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137361== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137361== by 0x49B1142: setlocale (setlocale.c:337) ==137361== by 0x4001052: main (first.c:135) ==137361== ==137361== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137361== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137361== by 0x491A603: Curl_open (url.c:517) ==137361== by 0x48952AF: curl_easy_init (easy.c:377) ==137361== by 0x4001092: UnknownInlinedFun (lib576.c:107) ==137361== by 0x4001092: main (first.c:196) ==137361== ==137361== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137361== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137361== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137361== by 0x4A93FA5: tsearch (tsearch.c:290) ==137361== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137361== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137361== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137361== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137361== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137361== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137361== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137361== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137361== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137361== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137361== by 0x49B1142: setlocale (setlocale.c:337) ==137361== by 0x4001052: main (first.c:135) ==137361== ==137361== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137361== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137361== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137361== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137361== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137361== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137361== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137361== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137361== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137361== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137361== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137361== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137361== by 0x49B1142: setlocale (setlocale.c:337) ==137361== by 0x4001052: main (first.c:135) ==137361== === End of file valgrind576 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/14/valgrind581 ./libtest/lib507 http://127.0.0.1:35661/581 > log/14/stdout581 2> log/14/stderr581 581: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind581 ./libtest/lib507 http://127.0.0.1:35661/581 > log/14/stdout581 2> log/14/stderr581 === End of file commands.log === Start of file http_server.log 20:55:01.148926 ====> Client connect 20:55:01.148950 accept_connection 3 returned 4 20:55:01.148963 accept_connection 3 returned 0 20:55:01.148973 Read 93 bytes 20:55:01.148980 Process 93 bytes request 20:55:01.148990 Got request: GET /verifiedserver HTTP/1.1 20:55:01.148997 Are-we-friendly question received 20:55:01.149018 Wrote request (93 bytes) input to log/14/server.input 20:55:01.149029 Identifying ourselves as friends 20:55:01.149067 Response sent (57 bytes) and written to log/14/server.response 20:55:01.149074 special request received, no persistency 20:55:01.149080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:35661/581 === End of file stderr581 === Start of file valgrind581 ==137449== ==137449== Process terminating with default action of signal 4 (SIGILL) ==137449== Illegal opcode at address 0x48E3D1B ==137449== at 0x48E3D1B: UnknownInlinedFun (string_fortified.h:59) ==137449== by 0x48E3D1B: UnknownInlinedFun (uint-table.c:40) ==137449== by 0x48E3D1B: Curl_multi_handle (multi.c:235) ==137449== by 0x40012F1: test.part.0 (lib507.c:45) ==137449== by 0x4001094: UnknownInlinedFun (lib507.c:43) ==137449== by 0x4001094: main (first.c:196) ==137449== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137449== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137449== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137449== by 0x4A93FA5: tsearch (tsearch.c:290) ==137449== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137449== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137449== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137449== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137449== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137449== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137449== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137449== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137449== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137449== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137449== by 0x49B1142: setlocale (setlocale.c:337) ==137449== by 0x4001041: main (first.c:135) ==137449== ==137449== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137449== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137449== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137449== by 0x4A93FA5: tsearch (tsearch.c:290) ==137449== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137449== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137449== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137449== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137449== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137449== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137449== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137449== by 0x49B1142: setlocale (setlocale.c:337) ==137449== by 0x4001041: main (first.c:135) ==137449== ==137449== 632 bytes in 1 blocks are definitely lost in loss record 613 of 655 ==137449== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137449== by 0x48E3C74: Curl_multi_handle (multi.c:226) ==137449== by 0x40012F1: test.part.0 (lib507.c:45) ==137449== by 0x4001094: UnknownInlinedFun (lib507.c:43) ==137449== by 0x4001094: main (first.c:196) ==137449== ==137449== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==137449== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137449== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137449== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137449== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137449== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137449== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137449== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137449== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137449== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137449== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137449== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137449== by 0x49B1142: setlocale (setlocale.c:337) ==137449== by 0x4001041: main (first.c:135) ==137449== ==137449== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 655 ==137449== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137449== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137449== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137449== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137449== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137449== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137449== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137449== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137449== by 0x49B1142: setlocale (setlocale.c:337) ==137449== by 0x4001041: main (first.c:135) ==137449== ==137449== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137449== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137449== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137449== by 0x4A93FA5: tsearch (tsearch.c:290) ==137449== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137449== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137449== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137449== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137449== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137449== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137449== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137449== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137449== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137449== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137449== by 0x49B1142: setlocale (setlocale.c:337) ==137449== by 0x4001041: main (first.c:135) ==137449== ==137449== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137449== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137449== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137449== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137449== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137449== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137449== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137449== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137449== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137449== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137449== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137449== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137449== by 0x49B1142: 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/8/valgrind580 ./libtest/lib507 http://127.0.0.1:35791/580 > log/8/stdout580 2> log/8/stderr580 tlocale (setlocale.c:337) ==137449== by 0x4001041: main (first.c:135) ==137449== === End of file valgrind581 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/8/valgrind580 ./libtest/lib507 http://127.0.0.1:35791/580 > log/8/stdout580 2> log/8/stderr580 580: 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 580 === Start of file commands.log ../libtool --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/valgrind580 ./libtest/lib507 http://127.0.0.1:35791/580 > log/8/stdout580 2> log/8/stderr580 === End of file commands.log === Start of file http_server.log 20:55:01.148925 ====> Client connect 20:55:01.148949 accept_connection 3 returned 4 20:55:01.148961 accept_connection 3 returned 0 20:55:01.148972 Read 93 bytes 20:55:01.148980 Process 93 bytes request 20:55:01.148990 Got request: GET /verifiedserver HTTP/1.1 20:55:01.148997 Are-we-friendly question received 20:55:01.149073 Wrote request (93 bytes) input to log/8/server.input 20:55:01.149086 Identifying ourselves as friends 20:55:01.149129 Response sent (57 bytes) and written to log/8/server.response 20:55:01.149137 special request received, no persistency 20:55:01.149143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:35791/580 === End of file stderr580 === Start of file valgrind580 ==137448== ==137448== Process terminating with default action of signal 4 (SIGILL) ==137448== Illegal opcode at address 0x48E3D1B ==137448== at 0x48E3D1B: UnknownInlinedFun (string_fortified.h:59) ==137448== by 0x48E3D1B: UnknownInlinedFun (uint-table.c:40) ==137448== by 0x48E3D1B: Curl_multi_handle (multi.c:235) ==137448== by 0x40012F1: test.part.0 (lib507.c:45) ==137448== by 0x4001094: UnknownInlinedFun (lib507.c:43) ==137448== by 0x4001094: main (first.c:196) ==137448== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137448== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137448== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137448== by 0x4A93FA5: tsearch (tsearch.c:290) ==137448== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137448== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137448== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137448== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137448== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137448== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137448== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137448== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137448== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137448== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137448== by 0x49B1142: setlocale (setlocale.c:337) ==137448== by 0x4001041: main (first.c:135) ==137448== ==137448== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137448== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137448== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137448== by 0x4A93FA5: tsearch (tsearch.c:290) ==137448== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137448== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137448== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137448== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137448== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137448== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137448== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137448== by 0x49B1142: setlocale (setlocale.c:337) ==137448== by 0x4001041: main (first.c:135) ==137448== ==137448== 632 bytes in 1 blocks are definitely lost in loss record 613 of 655 ==137448== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137448== by 0x48E3C74: Curl_multi_handle (multi.c:226) ==137448== by 0x40012F1: test.part.0 (lib507.c:45) ==137448== by 0x4001094: UnknownInlinedFun (lib507.c:43) ==137448== by 0x4001094: main (first.c:196) ==137448== ==137448== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==137448== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137448== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137448== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137448== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137448== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137448== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137448== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137448== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137448== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137448== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137448== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137448== by 0x49B1142: setlocale (setlocale.c:337) ==137448== by 0x4001041: main (first.c:135) ==137448== ==137448== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 655 ==137448== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137448== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137448== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137448== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137448== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137448== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137448== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137448== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137448== by 0x49B1142: setlocale (setlocale.c:337) ==137448== by 0x4001041: main (first.c:135) ==137448== ==137448== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137448== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137448== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137448== by 0x4A93FA5: tsearch (tsearch.c:290) ==137448== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137448== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137448== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137448== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137448== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137448== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137448== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137448== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137448== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137448== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137448== by 0x49B1142: setlocale (setlocale.c:337) ==137448== by 0x4001041: main (first.c:135) ==137448== ==137448== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137448== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137448== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137448== by 0x49A63F0: add_CMD (33792): ../libtool --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/ 41115 > log/2/stdout521 2> log/2/stderr521 alias2 (gconv_conf.c:176) ==137448== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137448== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137448== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137448== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137448== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137448== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137448== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137448== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137448== by 0x49B1142: setlocale (setlocale.c:337) ==137448== by 0x4001041: main (first.c:135) ==137448== === End of file valgrind580 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/ 41115 > 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 commands.log ../libtool --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/ 41115 > log/2/stdout521 2> log/2/stderr521 === End of file commands.log === Start of file ftp_server.log 20:54:44.246482 ====> Client connect 20:54:44.246624 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:44.246883 < "USER anonymous" 20:54:44.246918 > "331 We are happy you popped in![CR][LF]" 20:54:44.247086 < "PASS ftp@example.com" 20:54:44.247111 > "230 Welcome you silly person[CR][LF]" 20:54:44.247257 < "PWD" 20:54:44.247285 > "257 "/" is current directory[CR][LF]" 20:54:44.247446 < "EPSV" 20:54:44.247469 ====> Passive DATA channel requested by client 20:54:44.247482 DATA sockfilt for passive data channel starting... 20:54:44.249046 DATA sockfilt for passive data channel started (pid 133985) 20:54:44.249143 DATA sockfilt for passive data channel listens on port 44249 20:54:44.249180 > "229 Entering Passive Mode (|||44249|)[LF]" 20:54:44.249196 Client has been notified that DATA conn will be accepted on port 44249 20:54:44.249378 Client connects to port 44249 20:54:44.249407 ====> Client established passive DATA connection on port 44249 20:54:44.249469 < "TYPE I" 20:54:44.249498 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:44.249637 < "SIZE verifiedserver" 20:54:44.249671 > "213 18[CR][LF]" 20:54:44.249806 < "RETR verifiedserver" 20:54:44.249833 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:44.249893 =====> Closing passive DATA connection... 20:54:44.249906 Server disconnects passive DATA connection 20:54:44.250097 Server disconnected passive DATA connection 20:54:44.250141 DATA sockfilt for passive data channel quits (pid 133985) 20:54:44.250430 DATA sockfilt for passive data channel quit (pid 133985) 20:54:44.250461 =====> Closed passive DATA connection 20:54:44.250488 > "226 File transfer complete[CR][LF]" 20:54:44.295945 < "QUIT" 20:54:44.295989 > "221 bye bye baby[CR][LF]" 20:54:44.296561 MAIN sockfilt said DISC 20:54:44.296609 ====> Client disconnected 20:54:44.296685 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:43.467901 ====> Client connect 20:54:43.468149 Received DATA (on stdin) 20:54:43.468165 > 160 bytes data, server => client 20:54:43.468177 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:43.468188 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:43.468198 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:43.468260 < 16 bytes data, client => server 20:54:43.468273 'USER anonymous\r\n' 20:54:43.468434 Received DATA (on stdin) 20:54:43.468446 > 33 bytes data, server => client 20:54:43.468457 '331 We are happy you popped in!\r\n' 20:54:43.468508 < 22 bytes data, client => server 20:54:43.468522 'PASS ftp@example.com\r\n' 20:54:43.468624 Received DATA (on stdin) 20:54:43.468636 > 30 bytes data, server => client 20:54:43.468646 '230 Welcome you silly person\r\n' 20:54:43.468690 < 5 bytes data, client => server 20:54:43.468701 'PWD\r\n' 20:54:43.468798 Received DATA (on stdin) 20:54:43.468813 > 30 bytes data, server => client 20:54:43.468825 '257 "/" is current directory\r\n' 20:54:43.468876 < 6 bytes data, client => server 20:54:43.468889 'EPSV\r\n' 20:54:43.470712 Received DATA (on stdin) 20:54:43.470724 > 38 bytes data, server => client 20:54:43.470735 '229 Entering Passive Mode (|||44249|)\n' 20:54:43.470831 < 8 bytes data, client => server 20:54:43.470842 'TYPE I\r\n' 20:54:43.471011 Received DATA (on stdin) 20:54:43.471023 > 33 bytes data, server => client 20:54:43.471035 '200 I modify TYPE as you wanted\r\n' 20:54:43.471085 < 21 bytes data, client => server 20:54:43.471097 'SIZE verifiedserver\r\n' 20:54:43.471183 Received DATA (on stdin) 20:54:43.471195 > 8 bytes data, server => client 20:54:43.471206 '213 18\r\n' 20:54:43.471248 < 21 bytes data, client => server 20:54:43.471258 'RETR verifiedserver\r\n' 20:54:43.471418 Received DATA (on stdin) 20:54:43.471429 > 29 bytes data, server => client 20:54:43.471441 '150 Binary junk (18 bytes).\r\n' 20:54:43.472002 Received DATA (on stdin) 20:54:43.472014 > 28 bytes data, server => client 20:54:43.472024 '226 File transfer complete\r\n' 20:54:43.517300 < 6 bytes data, client => server 20:54:43.517320 'QUIT\r\n' 20:54:43.517504 Received DATA (on stdin) 20:54:43.517515 > 18 bytes data, server => client 20:54:43.517524 '221 bye bye baby\r\n' 20:54:43.518004 ====> Client disconnect 20:54:43.518199 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:44.470385 Running IPv4 version 20:54:44.470446 Listening on port 44249 20:54:44.470483 Wrote pid 133985 to log/2/server/ftp_sockdata.pid 20:54:44.470505 Received PING (on stdin) 20:54:44.470581 Received PORT (on stdin) 20:54:44.470834 ====> Client connect 20:54:44.471353 Received DATA (on stdin) 20:54:44.471369 > 18 bytes data, server => client 20:54:44.471380 'WE ROOLZ: 110829\r\n' 20:54:44.471418 Received DISC (on stdin) 20:54:44.471431 ====> Client forcibly disconnected 20:54:44.471674 Received QUIT (on stdin) 20:54:44.471692 quits 20:54:44.471754 ============> 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 ==134192== ==134192== Process terminating with default action of signal 4 (SIGILL) ==134192== Illegal opcode at address 0x491A6B3 ==134192== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==134192== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==134192== by 0x491A6B3: Curl_open (url.c:538) ==134192== by 0x48952AF: curl_easy_init (easy.c:377) ==134192== by 0x4001092: UnknownInlinedFun (lib521.c:38) ==134192== by 0x4001092: main (first.c:196) ==134192== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==134192== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134192== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134192== by 0x4A93FA5: tsearch (tsearch.c:290) ==134192== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134192== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134192== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134192== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134192== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134192== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134192== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==13CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind508 ./libtest/lib508 http://127.0.0.1:36793/508 > log/21/stdout508 2> log/21/stderr508 4192== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134192== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134192== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134192== by 0x49B1142: setlocale (setlocale.c:337) ==134192== by 0x4001041: main (first.c:135) ==134192== ==134192== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==134192== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134192== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134192== by 0x4A93FA5: tsearch (tsearch.c:290) ==134192== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134192== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134192== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134192== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134192== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134192== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134192== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134192== by 0x49B1142: setlocale (setlocale.c:337) ==134192== by 0x4001041: main (first.c:135) ==134192== ==134192== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==134192== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134192== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134192== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134192== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134192== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134192== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==134192== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==134192== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134192== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134192== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134192== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134192== by 0x49B1142: setlocale (setlocale.c:337) ==134192== by 0x4001041: main (first.c:135) ==134192== ==134192== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==134192== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134192== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134192== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==134192== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==134192== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134192== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134192== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134192== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134192== by 0x49B1142: setlocale (setlocale.c:337) ==134192== by 0x4001041: main (first.c:135) ==134192== ==134192== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==134192== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==134192== by 0x491A603: Curl_open (url.c:517) ==134192== by 0x48952AF: curl_easy_init (easy.c:377) ==134192== by 0x4001092: UnknownInlinedFun (lib521.c:38) ==134192== by 0x4001092: main (first.c:196) ==134192== ==134192== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==134192== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134192== by 0x4A93FA5: __tsearch (tsearch.c:337) ==134192== by 0x4A93FA5: tsearch (tsearch.c:290) ==134192== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==134192== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134192== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134192== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134192== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134192== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134192== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134192== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134192== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134192== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134192== by 0x49B1142: setlocale (setlocale.c:337) ==134192== by 0x4001041: main (first.c:135) ==134192== ==134192== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==134192== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==134192== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==134192== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==134192== by 0x49A63F0: add_alias (gconv_conf.c:178) ==134192== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==134192== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==134192== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==134192== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==134192== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==134192== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==134192== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==134192== by 0x49B1142: setlocale (setlocale.c:337) ==134192== by 0x4001041: main (first.c:135) ==134192== === End of file valgrind521 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/21/valgrind508 ./libtest/lib508 http://127.0.0.1:36793/508 > log/21/stdout508 2> log/21/stderr508 508: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 508 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind508 ./libtest/lib508 http://127.0.0.1:36793/508 > log/21/stdout508 2> log/21/stderr508 === End of file commands.log === Start of file http_server.log 20:54:44.075577 ====> Client connect 20:54:44.075612 accept_connection 3 returned 4 20:54:44.075630 accept_connection 3 returned 0 20:54:44.075645 Read 93 bytes 20:54:44.075654 Process 93 bytes request 20:54:44.075667 Got request: GET /verifiedserver HTTP/1.1 20:54:44.075677 Are-we-friendly question received 20:54:44.075701 Wrote request (93 bytes) input to log/21/server.input 20:54:44.075717 Identifying ourselves as friends 20:54:44.075769 Response sent (57 bytes) and written to log/21/server.response 20:54:44.075779 special request received, no persistency 20:54:44.075788 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:36793/508 === End of file stderr508 === Start of file valgrind508 ==133285== ==133285== Process terminating with default action of signal 4 (SIGILL) ==133285== Illegal opcode at address 0x491A6B3 ==133285== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133285== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133285== by 0x491A6B3: Curl_open (url.c:538) ==133285== by 0x48952AF: curl_easy_init (easy.c:377) ==133285== by 0x40010A7: UnknownInlinedFun (lib508.c:67) ==133285== by 0x40010A7: main (first.c:196) ==133285== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133285== at 0x484A7A8: malloc (vg_replace_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/23/valgrind510 ./libtest/lib510 http://127.0.0.1:38539/510 > log/23/stdout510 2> log/23/stderr510 oc.c:446) ==133285== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133285== by 0x4A93FA5: tsearch (tsearch.c:290) ==133285== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133285== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133285== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133285== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133285== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133285== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133285== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133285== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133285== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133285== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133285== by 0x49B1142: setlocale (setlocale.c:337) ==133285== by 0x4001052: main (first.c:135) ==133285== ==133285== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133285== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133285== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133285== by 0x4A93FA5: tsearch (tsearch.c:290) ==133285== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133285== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133285== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133285== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133285== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133285== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133285== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133285== by 0x49B1142: setlocale (setlocale.c:337) ==133285== by 0x4001052: main (first.c:135) ==133285== ==133285== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133285== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133285== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133285== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133285== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133285== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133285== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133285== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133285== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133285== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133285== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133285== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133285== by 0x49B1142: setlocale (setlocale.c:337) ==133285== by 0x4001052: main (first.c:135) ==133285== ==133285== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133285== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133285== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133285== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133285== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133285== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133285== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133285== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133285== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133285== by 0x49B1142: setlocale (setlocale.c:337) ==133285== by 0x4001052: main (first.c:135) ==133285== ==133285== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133285== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133285== by 0x491A603: Curl_open (url.c:517) ==133285== by 0x48952AF: curl_easy_init (easy.c:377) ==133285== by 0x40010A7: UnknownInlinedFun (lib508.c:67) ==133285== by 0x40010A7: main (first.c:196) ==133285== ==133285== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133285== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133285== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133285== by 0x4A93FA5: tsearch (tsearch.c:290) ==133285== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133285== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133285== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133285== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133285== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133285== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133285== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133285== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133285== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133285== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133285== by 0x49B1142: setlocale (setlocale.c:337) ==133285== by 0x4001052: main (first.c:135) ==133285== ==133285== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133285== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133285== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133285== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133285== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133285== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133285== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133285== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133285== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133285== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133285== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133285== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133285== by 0x49B1142: setlocale (setlocale.c:337) ==133285== by 0x4001052: main (first.c:135) ==133285== === End of file valgrind508 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/23/valgrind510 ./libtest/lib510 http://127.0.0.1:38539/510 > log/23/stdout510 2> log/23/stderr510 510: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind510 ./libtest/lib510 http://127.0.0.1:38539/510 > log/23/stdout510 2> log/23/stderr510 === End of file commands.log === Start of file http_server.log 20:54:44.114155 ====> Client connect 20:54:44.114189 accept_connection 3 returned 4 20:54:44.114217 accept_connection 3 returned 0 20:54:44.114231 Read 93 bytes 20:54:44.114241 Process 93 bytes request 20:54:44.114253 Got request: GET /verifiedserver HTTP/1.1 20:54:44.114262 Are-we-friendly question received 20:54:44.114285 Wrote request (93 bytes) input to log/23/server.input 20:54:44.114301 Identifying ourselves as friends 20:54:44.114358 Response sent (57 bytes) and written to log/23/server.response 20:54:44.114368 special request received, no persistency 20:54:44.114377 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:38539/510 === End of file stderr510 === Start of file valgrind510 ==133452== ==133452== Process terminating with default action of signal 4 (SIGILL) ==133452== Illegal opcode at address 0x491A6B3 ==133452== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133452== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133452== by 0x491A6B3: Curl_open (url.c:538) ==133452== by 0x48952AF: curl_easy_init (easy.c:377) ==133452== by 0x400109B: UnknownInlinedFun (lib510.c:77) ==133452== by 0x400109B: main (first.c:196) ==133452== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133452== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133452== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133452== by 0x4A93FA5: tsearch (tsearch.c:290) ==133452== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133452== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133452== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133452== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133452== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133452== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133452== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133452== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133452== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133452== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133452== by 0x49B1142: setlocale (setlocale.c:337) ==133452== by 0x4001054: main (first.c:135) ==133452== ==133452== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133452== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133452== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133452== by 0x4A93FA5: tsearch (tsearch.c:290) ==133452== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133452== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133452== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133452== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133452== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133452== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133452== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133452== by 0x49B1142: setlocale (setlocale.c:337) ==133452== by 0x4001054: main (first.c:135) ==133452== ==133452== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133452== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133452== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133452== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133452== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133452== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133452== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133452== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133452== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133452== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133452== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133452== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133452== by 0x49B1142: setlocale (setlocale.c:337) ==133452== by 0x4001054: main (first.c:135) ==133452== ==133452== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133452== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133452== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133452== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133452== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133452== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133452== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133452== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133452== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133452== by 0x49B1142: setlocale (setlocale.c:337) ==133452== by 0x4001054: main (first.c:135) ==133452== ==133452== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133452== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133452== by 0x491A603: Curl_open (url.c:517) ==133452== by 0x48952AF: curl_easy_init (easy.c:377) ==133452== by 0x400109B: UnknownInlinedFun (lib510.c:77) ==133452== by 0x400109B: main (first.c:196) ==133452== ==133452== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133452== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133452== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133452== by 0x4A93FA5: tsearch (tsearch.c:290) ==133452== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133452== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133452== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133452== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133452== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133452== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133452== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133452== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133452== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133452== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133452== by 0x49B1142: setlocale (setlocale.c:337) ==133452== by 0x4001054: main (first.c:135) ==133452== ==133452== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133452== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133452== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133452== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133452== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133452== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133452== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133452== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133452== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133452== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133452== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133452== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133452== by 0x49B1142: setlocale (setlocale.c:337) ==133452== by 0x4001054: main (first.c:135) ==133452== === End of file valgrind510 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/22/valgrind514 ./libtest/lib514 http://127.0.0.1:44239/514 > log/22/stdout514 2> log/22/stderr514 514: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind514 ./libtest/lib514 http://127.0.0.1:44239/514 > log/22/stdout514 2> log/22/stderr514 === End of file commands.log === Start of file http_server.log 20:54:44.210594 ====> Client connect 20:54:44.210627 accept_connection 3 returned 4 20:54:44.210644 accept_connection 3 returned 0 20:54:44.210659 Read 93 bytes 20:54:44.210669 Process 93 bytes request 20:54:44.210684 Got request: GET /verifiedserver HTTP/1.1 20:54:44.210693 Are-we-friendly question received 20:54:44.210728 Wrote request (93 bytes) input to log/22/server.input 20:54:44.210745 Identifying ourselves as friends 20:54:44.210798 Response sent (57 bytes) and written to log/22/server.response 20:54:44.210809 special request received, no persistency 20:54:44.210819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.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/1/valgrind511 ./libtest/lib511 ftp://127.0.0.1:33539/511 > log/1/stdout511 2> log/1/stderr511 Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === 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: 18 WE ROOLZ: 104801 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:44239/514 === End of file stderr514 === Start of file valgrind514 ==133670== ==133670== Process terminating with default action of signal 4 (SIGILL) ==133670== Illegal opcode at address 0x491A6B3 ==133670== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133670== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133670== by 0x491A6B3: Curl_open (url.c:538) ==133670== by 0x48952AF: curl_easy_init (easy.c:377) ==133670== by 0x4001081: UnknownInlinedFun (lib514.c:38) ==133670== by 0x4001081: main (first.c:196) ==133670== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133670== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133670== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133670== by 0x4A93FA5: tsearch (tsearch.c:290) ==133670== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133670== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133670== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133670== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133670== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133670== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133670== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133670== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133670== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133670== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133670== by 0x49B1142: setlocale (setlocale.c:337) ==133670== by 0x4001041: main (first.c:135) ==133670== ==133670== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133670== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133670== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133670== by 0x4A93FA5: tsearch (tsearch.c:290) ==133670== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133670== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133670== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133670== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133670== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133670== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133670== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133670== by 0x49B1142: setlocale (setlocale.c:337) ==133670== by 0x4001041: main (first.c:135) ==133670== ==133670== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133670== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133670== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133670== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133670== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133670== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133670== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133670== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133670== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133670== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133670== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133670== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133670== by 0x49B1142: setlocale (setlocale.c:337) ==133670== by 0x4001041: main (first.c:135) ==133670== ==133670== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133670== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133670== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133670== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133670== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133670== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133670== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133670== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133670== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133670== by 0x49B1142: setlocale (setlocale.c:337) ==133670== by 0x4001041: main (first.c:135) ==133670== ==133670== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133670== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133670== by 0x491A603: Curl_open (url.c:517) ==133670== by 0x48952AF: curl_easy_init (easy.c:377) ==133670== by 0x4001081: UnknownInlinedFun (lib514.c:38) ==133670== by 0x4001081: main (first.c:196) ==133670== ==133670== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133670== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133670== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133670== by 0x4A93FA5: tsearch (tsearch.c:290) ==133670== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133670== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133670== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133670== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133670== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133670== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133670== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133670== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133670== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133670== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133670== by 0x49B1142: setlocale (setlocale.c:337) ==133670== by 0x4001041: main (first.c:135) ==133670== ==133670== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133670== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133670== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133670== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133670== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133670== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133670== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133670== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133670== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133670== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133670== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133670== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133670== by 0x49B1142: setlocale (setlocale.c:337) ==133670== by 0x4001041: main (first.c:135) ==133670== === End of file valgrind514 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:33539/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 commands.log ../libtool --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:33539/511 > log/1/stdout511 2> log/1/stderr511 === End of file commands.log === Start of file ftp_server.log 20:54:43.896398 ====> Client connect 20:54:43.896551 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:54:43.896813 < "USER anonymous" 20:54:43.896854 > "331 We are happy you popped in![CR][LF]" 20:54:43.897154 < "PASS ftp@example.com" 20:54:43.897200 > "230 Welcome you silly person[CR][LF]" 20:54:43.897341 < "PWD" 20:54:43.897370 > "257 "/" is current directory[CR][LF]" 20:54:43.897511 < "EPSV" 20:54:43.897534 ====> Passive DATA channel requested by client 20:54:43.897546 DATA sockfilt for passive data channel starting... 20:54:43.899330 DATA sockfilt for passive data channel started (pid 133433) 20:54:43.899456 DATA sockfilt for passive data channel listens on port 45557 20:54:43.899496 > "229 Entering Passive Mode (|||45557|)[LF]" 20:54:43.899515 Client has been notified that DATA conn will be accepted on port 45557 20:54:43.899753 Client connects to port 45557 20:54:43.899780 ====> Client established passive DATA connection on port 45557 20:54:43.899853 < "TYPE I" 20:54:43.899880 > "200 I modify TYPE as you wanted[CR][LF]" 20:54:43.900032 < "SIZE verifiedserver" 20:54:43.900065 > "213 18[CR][LF]" 20:54:43.900199 < "RETR verifiedserver" 20:54:43.900228 > "150 Binary junk (18 bytes).[CR][LF]" 20:54:43.900298 =====> Closing passive DATA connection... 20:54:43.900313 Server disconnects passive DATA connection 20:54:43.900465 Server disconnected passive DATA connection 20:54:43.900486 DATA sockfilt for passive data channel quits (pid 133433) 20:54:43.900720 DATA sockfilt for passive data channel quit (pid 133433) 20:54:43.900744 =====> Closed passive DATA connection 20:54:43.900768 > "226 File transfer complete[CR][LF]" 20:54:43.945888 < "QUIT" 20:54:43.945941 > "221 bye bye baby[CR][LF]" 20:54:43.946265 MAIN sockfilt said DISC 20:54:43.946291 ====> Client disconnected 20:54:43.946370 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:54:44.117778 ====> Client connect 20:54:44.118075 Received DATA (on stdin) 20:54:44.118089 > 160 bytes data, server => client 20:54:44.118101 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:54:44.118112 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:54:44.118122 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:54:44.118191 < 16 bytes data, client => server 20:54:44.118203 'USER anonymous\r\n' 20:54:44.118371 Received DATA (on stdin) 20:54:44.118383 > 33 bytes data, server => client 20:54:44.118393 '331 We are happy you popped in!\r\n' 20:54:44.118497 < 22 bytes data, client => server 20:54:44.118525 'PASS ftp@example.com\r\n' 20:54:44.118716 Received DATA (on stdin) 20:54:44.118727 > 30 bytes data, server => client 20:54:44.118737 '230 Welcome you silly person\r\n' 20:54:44.118781 < 5 bytes data, client => server 20:54:44.118790 'PWD\r\n' 20:54:44.118881 Received DATA (on stdin) 20:54:44.118891 > 30 bytes data, server => client 20:54:44.118901 '257 "/" is current directory\r\n' 20:54:44.118953 < 6 bytes data, client => server 20:54:44.118962 'EPSV\r\n' 20:54:44.121035 Received DATA (on stdin) 20:54:44.121052 > 38 bytes data, server => client 20:54:44.121064 '229 Entering Passive Mode (|||45557|)\n' 20:54:44.121213 < 8 bytes data, client => server 20:54:44.121225 'TYPE I\r\n' 20:54:44.121393 Received DATA (on stdin) 20:54:44.121406 > 33 bytes data, server => client 20:54:44.121418 '200 I modify TYPE as you wanted\r\n' 20:54:44.121465 < 21 bytes data, client => server 20:54:44.121477 'SIZE verifiedserver\r\n' 20:54:44.121577 Received DATA (on stdin) 20:54:44.121588 > 8 bytes data, server => client 20:54:44.121598 '213 18\r\n' 20:54:44.121639 < 21 bytes data, client => server 20:54:44.121649 'RETR verifiedserver\r\n' 20:54:44.121826 Received DATA (on stdin) 20:54:44.121837 > 29 bytes data, server => client 20:54:44.121847 '150 Binary junk (18 bytes).\r\n' 20:54:44.122281 Received DATA (on stdin) 20:54:44.122293 > 28 bytes data, server => client 20:54:44.122304 '226 File transfer complete\r\n' 20:54:44.167212 < 6 bytes data, client => server 20:54:44.167240 'QUIT\r\n' 20:54:44.167457 Received DATA (on stdin) 20:54:44.167469 > 18 bytes data, server => client 20:54:44.167479 '221 bye bye baby\r\n' 20:54:44.167732 ====> Client disconnect 20:54:44.167880 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:54:43.120673 Running IPv4 version 20:54:43.120725 Listening on port 45557 20:54:43.120762 Wrote pid 133433 to log/1/server/ftp_sockdata.pid 20:54:43.120781 Received PING (on stdin) 20:54:43.120879 Received PORT (on stdin) 20:54:43.121187 ====> Client connect 20:54:43.121876 Received DATA (on stdin) 20:54:43.121889 > 18 bytes data, server => client 20:54:43.121899 'WE ROOLZ: 110705\r\n' 20:54:43.121922 Received DISC (on stdin) 20:54:43.121933 ====> Client forcibly disconnected 20:54:43.122003 Received QUIT (on stdin) 20:54:43.122013 quits 20:54:43.122073 ============> 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:33539/511 === End of file stderr511 === Start of file valgrind511 ==133592== ==133592== Process terminating with default action of signal 4 (SIGILL) ==133592== Illegal opcode at address 0x491A6B3 ==133592== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==133592== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==133592== by 0x491A6B3: Curl_open (url.c:538) ==133592== by 0x48952AF: curl_easy_init (easy.c:377) ==133592== by 0x4001081: UnknownInlinedFun (lib511.c:38) ==133592== by 0x4001081: main (first.c:196) ==133592== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==133592== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133592== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133592== by 0x4A93FA5: tsearch (tsearch.c:290) ==133592== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133592== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133592== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133592== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133592== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133592== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133592== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133592== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133592== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133592== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133592== by 0x49B1142: setlocale (setlocale.c:337) ==133592== by 0x4001041: main (first.c:135) ==133592== ==133592== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==133592== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133592== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133592== by 0x4A93FA5: tsearch (tsearch.c:290) ==133592== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133592== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133592== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133592== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133592== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133592== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133592== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133592== by 0x49B1142: setlocale (setlocale.c:337) ==133592== by 0x4001041: main (first.c:135) ==133592== ==133592== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==133592== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133592== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133592== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133592== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133592== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133592== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133592== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==133592== by 0x4A16CB3: __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/20/valgrind564 ./libtest/lib564 ftp://127.0.0.1:45439/path/564 127.0.0.1:40605 > log/20/stdout564 2> log/20/stderr564 ce_slow.isra.0 (pthread_once.c:116) ==133592== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133592== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133592== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133592== by 0x49B1142: setlocale (setlocale.c:337) ==133592== by 0x4001041: main (first.c:135) ==133592== ==133592== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==133592== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133592== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133592== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==133592== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==133592== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133592== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133592== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133592== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133592== by 0x49B1142: setlocale (setlocale.c:337) ==133592== by 0x4001041: main (first.c:135) ==133592== ==133592== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==133592== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==133592== by 0x491A603: Curl_open (url.c:517) ==133592== by 0x48952AF: curl_easy_init (easy.c:377) ==133592== by 0x4001081: UnknownInlinedFun (lib511.c:38) ==133592== by 0x4001081: main (first.c:196) ==133592== ==133592== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==133592== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133592== by 0x4A93FA5: __tsearch (tsearch.c:337) ==133592== by 0x4A93FA5: tsearch (tsearch.c:290) ==133592== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==133592== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133592== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133592== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133592== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133592== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133592== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133592== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133592== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133592== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133592== by 0x49B1142: setlocale (setlocale.c:337) ==133592== by 0x4001041: main (first.c:135) ==133592== ==133592== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==133592== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==133592== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==133592== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==133592== by 0x49A63F0: add_alias (gconv_conf.c:178) ==133592== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133592== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133592== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==133592== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133592== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133592== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==133592== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==133592== by 0x49B1142: setlocale (setlocale.c:337) ==133592== by 0x4001041: main (first.c:135) ==133592== === End of file valgrind511 startnew: ./server/socksd --port 0 --pidfile log/20/server/socks_server.pid --portfile log/20/server/socks_server.port --reqfile log/20/socksd-request.log --logfile log/20/socks_server.log --backend 127.0.0.1 --config log/20/server.cmd RUN: SOCKS server is now running PID 136929 * pid socks => 136929 136929 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/20/valgrind564 ./libtest/lib564 ftp://127.0.0.1:45439/path/564 127.0.0.1:40605 > log/20/stdout564 2> log/20/stderr564 564: stdout FAILED: --- log/20/check-expected 2025-06-04 20:55:01.889698693 +0000 +++ log/20/check-generated 2025-06-04 20:55:01.889698693 +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/20/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind564 ./libtest/lib564 ftp://127.0.0.1:45439/path/564 127.0.0.1:40605 > log/20/stdout564 2> log/20/stderr564 === End of file commands.log === Start of file ftp_server.log 20:55:00.020498 ====> Client connect 20:55:00.020634 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:00.020872 < "USER anonymous" 20:55:00.020903 > "331 We are happy you popped in![CR][LF]" 20:55:00.021042 < "PASS ftp@example.com" 20:55:00.021065 > "230 Welcome you silly person[CR][LF]" 20:55:00.021191 < "PWD" 20:55:00.021216 > "257 "/" is current directory[CR][LF]" 20:55:00.021903 < "EPSV" 20:55:00.021938 ====> Passive DATA channel requested by client 20:55:00.021949 DATA sockfilt for passive data channel starting... 20:55:00.023295 DATA sockfilt for passive data channel started (pid 136789) 20:55:00.023393 DATA sockfilt for passive data channel listens on port 34277 20:55:00.023433 > "229 Entering Passive Mode (|||34277|)[LF]" 20:55:00.023449 Client has been notified that DATA conn will be accepted on port 34277 20:55:00.023635 Client connects to port 34277 20:55:00.023669 ====> Client established passive DATA connection on port 34277 20:55:00.023729 < "TYPE I" 20:55:00.023767 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:00.023889 < "SIZE verifiedserver" 20:55:00.023924 > "213 18[CR][LF]" 20:55:00.024074 < "RETR verifiedserver" 20:55:00.024117 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:00.024197 =====> Closing passive DATA connection... 20:55:00.024215 Server disconnects passive DATA connection 20:55:00.024256 Server disconnected passive DATA connection 20:55:00.024273 DATA sockfilt for passive data channel quits (pid 136789) 20:55:00.024473 DATA sockfilt for passive data channel quit (pid 136789) 20:55:00.024495 =====> Closed passive DATA connection 20:55:00.024519 > "226 File transfer complete[CR][LF]" 20:55:00.068983 < "QUIT" 20:55:00.069037 > "221 bye bye baby[CR][LF]" 20:55:00.069283 MAIN sockfilt said DISC 20:55:00.069305 ====> Client disconnected 20:55:00.069352 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.241920 ====> Client connect 20:55:00.242152 Received DATA (on stdin) 20:55:00.242164 > 160 bytes data, server => client 20:55:00.242175 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.242185 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.242194 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.242250 < 16 bytes data, client => server 20:55:00.242260 'USER anonymous\r\n' 20:55:00.242414 Received DATA (on stdin) 20:55:00.242425 > 33 bytes data, server => client 20:55:00.242435 '331 We are happy you popped in!\r\n' 20:55:00.242477 < 22 bytes data, client => server 20:55:00.242487 'PASS ftp@example.com\r\n' 20:55:00.242573 Received DATA (on stdin) 20:55:00.242584 > 30 bytes data, server => client 20:55:00.242594 '230 Welcome you silly person\r\n' 20:55:00.242633 < 5 bytes data, client => server 20:55:00.242642 'PWD\r\n' 20:55:00.242723 Received DATA (on stdin) 20:55:00.242733 > 30 bytes data, server => client 20:55:00.243217 '257 "/" is current directory\r\n' 20:55:00.243292 < 6 bytes data, client => server 20:55:00.243301 'EPSV\r\n' 20:55:00.244964 Received DATA (on stdin) 20:55:00.244976 > 38 bytes data, server => client 20:55:00.244987 '229 Entering Passive Mode (|||34277|)\n' 20:55:00.245096 < 8 bytes data, client => server 20:55:00.245106 'TYPE I\r\n' 20:55:00.245258 Received DATA (on stdin) 20:55:00.245268 > 33 bytes data, server => client 20:55:00.245278 '200 I modify TYPE as you wanted\r\n' 20:55:00.245319 < 21 bytes data, client => server 20:55:00.245329 'SIZE verifiedserver\r\n' 20:55:00.245436 Received DATA (on stdin) 20:55:00.245445 > 8 bytes data, server => client 20:55:00.245454 '213 18\r\n' 20:55:00.245492 < 21 bytes data, client => server 20:55:00.245501 'RETR verifiedserver\r\n' 20:55:00.245725 Received DATA (on stdin) 20:55:00.245737 > 29 bytes data, server => client 20:55:00.245746 '150 Binary junk (18 bytes).\r\n' 20:55:00.246027 Received DATA (on stdin) 20:55:00.246041 > 28 bytes data, server => client 20:55:00.246051 '226 File transfer complete\r\n' 20:55:00.290321 < 6 bytes data, client => server 20:55:00.290344 'QUIT\r\n' 20:55:00.290555 Received DATA (on stdin) 20:55:00.290567 > 18 bytes data, server => client 20:55:00.290577 '221 bye bye baby\r\n' 20:55:00.290744 ====> Client disconnect 20:55:00.290859 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:00.244646 Running IPv4 version 20:55:00.244705 Listening on port 34277 20:55:00.244740 Wrote pid 136789 to log/20/server/ftp_sockdata.pid 20:55:00.244755 Received PING (on stdin) 20:55:00.244834 Received PORT (on stdin) 20:55:00.245099 ====> Client connect 20:55:00.245662 Received DATA (on stdin) 20:55:00.245685 > 18 bytes data, server => client 20:55:00.245697 'WE ROOLZ: 110887\r\n' 20:55:00.245726 Received DISC (on stdin) 20:55:00.245738 ====> Client forcibly disconnected 20:55:00.245793 Received QUIT (on stdin) 20:55:00.245808 quits 20:55:00.245864 ============> 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 20:55:00.295129 Running IPv4 version 20:55:00.295187 Listening on port 40605 20:55:00.295215 Wrote pid 136929 to log/20/server/socks_server.pid 20:55:00.295236 Wrote port 40605 to log/20/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:45439/path/564 === End of file stderr564 === Start of file valgrind564 ==137547== ==137547== Process terminating with default action of signal 4 (SIGILL) ==137547== Illegal opcode at address 0x491A6B3 ==137547== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137547== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137547== by 0x491A6B3: Curl_open (url.c:538) ==137547== by 0x48952AF: curl_easy_init (easy.c:377) ==137547== by 0x40012EF: test.part.0 (lib564.c:45) ==137547== by 0x40010A5: UnknownInlinedFun (lib564.c:43) ==137547== by 0x40010A5: main (first.c:196) ==137547== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137547== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137547== by 0x4A93FA5: tsearch (tsearch.c:290) ==137547== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137547== by 0x49A63F0: 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/6/valgrind584 ./libtest/lib584 http://127.0.0.1:38475/584 > log/6/stdout584 2> log/6/stderr584 0 (gconv_parseconfdir.h:101) ==137547== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137547== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137547== by 0x49B1142: setlocale (setlocale.c:337) ==137547== by 0x4001041: main (first.c:135) ==137547== ==137547== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137547== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137547== by 0x4A93FA5: tsearch (tsearch.c:290) ==137547== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137547== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137547== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137547== by 0x49B1142: setlocale (setlocale.c:337) ==137547== by 0x4001041: main (first.c:135) ==137547== ==137547== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137547== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137547== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137547== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137547== by 0x49B1142: setlocale (setlocale.c:337) ==137547== by 0x4001041: main (first.c:135) ==137547== ==137547== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137547== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137547== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137547== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137547== by 0x49B1142: setlocale (setlocale.c:337) ==137547== by 0x4001041: main (first.c:135) ==137547== ==137547== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137547== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137547== by 0x491A603: Curl_open (url.c:517) ==137547== by 0x48952AF: curl_easy_init (easy.c:377) ==137547== by 0x40012EF: test.part.0 (lib564.c:45) ==137547== by 0x40010A5: UnknownInlinedFun (lib564.c:43) ==137547== by 0x40010A5: main (first.c:196) ==137547== ==137547== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137547== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137547== by 0x4A93FA5: tsearch (tsearch.c:290) ==137547== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137547== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137547== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137547== by 0x49B1142: setlocale (setlocale.c:337) ==137547== by 0x4001041: main (first.c:135) ==137547== ==137547== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137547== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137547== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137547== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137547== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137547== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137547== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137547== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137547== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137547== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137547== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137547== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137547== by 0x49B1142: setlocale (setlocale.c:337) ==137547== by 0x4001041: main (first.c:135) ==137547== === End of file valgrind564 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/6/valgrind584 ./libtest/lib584 http://127.0.0.1:38475/584 > log/6/stdout584 2> log/6/stderr584 584: 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 584 === Start of file commands.log ../libtool --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/valgrind584 ./libtest/lib584 http://127.0.0.1:38475/584 > log/6/stdout584 2> log/6/stderr584 === End of file commands.log === Start of file http_server.log 20:55:01.364227 ====> Client connect 20:55:01.364251 accept_connection 3 returned 4 20:55:01.364264 accept_connection 3 returned 0 20:55:01.364274 Read 93 bytes 20:55:01.364281 Process 93 bytes request 20:55:01.364291 Got request: GET /verifiedserver HTTP/1.1 20:55:01.364297 Are-we-friendly question received 20:55:01.364315 Wrote request (93 bytes) input to log/6/server.input 20:55:01.364326 Identifying ourselves as friends 20:55:01.364363 Response sent (57 bytes) and written to log/6/server.response 20:55:01.364370 special request received, no persistency 20:55:01.364377 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:38475/584 === End of file stderr584 === Start of file valgrind584 ==137627== ==137627== Process terminating with default action of signal 4 (SIGILL) ==137627== Illegal opcode at address 0x491A6B3 ==137627== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137627== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137627== by 0x491A6B3: Curl_open (urCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind585 ./libtest/lib585 http://127.0.0.1:39051/585 > log/15/stdout585 2> log/15/stderr585 l.c:538) ==137627== by 0x48952AF: curl_easy_init (easy.c:377) ==137627== by 0x4001087: UnknownInlinedFun (lib589.c:38) ==137627== by 0x4001087: main (first.c:196) ==137627== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137627== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137627== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137627== by 0x4A93FA5: tsearch (tsearch.c:290) ==137627== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137627== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137627== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137627== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137627== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137627== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137627== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137627== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137627== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137627== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137627== by 0x49B1142: setlocale (setlocale.c:337) ==137627== by 0x4001047: main (first.c:135) ==137627== ==137627== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137627== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137627== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137627== by 0x4A93FA5: tsearch (tsearch.c:290) ==137627== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137627== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137627== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137627== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137627== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137627== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137627== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137627== by 0x49B1142: setlocale (setlocale.c:337) ==137627== by 0x4001047: main (first.c:135) ==137627== ==137627== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137627== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137627== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137627== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137627== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137627== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137627== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137627== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137627== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137627== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137627== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137627== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137627== by 0x49B1142: setlocale (setlocale.c:337) ==137627== by 0x4001047: main (first.c:135) ==137627== ==137627== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137627== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137627== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137627== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137627== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137627== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137627== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137627== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137627== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137627== by 0x49B1142: setlocale (setlocale.c:337) ==137627== by 0x4001047: main (first.c:135) ==137627== ==137627== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137627== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137627== by 0x491A603: Curl_open (url.c:517) ==137627== by 0x48952AF: curl_easy_init (easy.c:377) ==137627== by 0x4001087: UnknownInlinedFun (lib589.c:38) ==137627== by 0x4001087: main (first.c:196) ==137627== ==137627== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137627== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137627== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137627== by 0x4A93FA5: tsearch (tsearch.c:290) ==137627== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137627== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137627== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137627== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137627== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137627== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137627== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137627== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137627== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137627== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137627== by 0x49B1142: setlocale (setlocale.c:337) ==137627== by 0x4001047: main (first.c:135) ==137627== ==137627== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137627== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137627== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137627== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137627== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137627== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137627== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137627== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137627== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137627== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137627== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137627== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137627== by 0x49B1142: setlocale (setlocale.c:337) ==137627== by 0x4001047: main (first.c:135) ==137627== === 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/15/valgrind585 ./libtest/lib585 http://127.0.0.1:39051/585 > log/15/stdout585 2> log/15/stderr585 585: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind585 ./libtest/lib585 http://127.0.0.1:39051/585 > log/15/stdout585 2> log/15/stderr585 === End of file commands.log === Start of file http_server.log 20:55:01.372646 ====> Client connect 20:55:01.372666 accept_connection 3 returned 4 20:55:01.372679 accept_connection 3 returned 0 20:55:01.372689 Read 93 bytes 20:55:01.372696 Process 93 bytes request 20:55:01.372704 Got request: GET /verifiedserver HTTP/1.1 20:55:01.372710 Are-we-friendly question received 20:55:01.372726 Wrote request (93 bytes) input to log/15/server.input 20:55:01.372737 Identifying ourselves as friends 20:55:01.372773 Response sent (57 bytes) and written to log/15/server.response 20:55:01.372780 special request received, no persistency 20:55:01.372787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === End of file http_verify.out === Start of file servcannot find sshd 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/valgrind587 ./libtest/lib587 http://127.0.0.1:33725/587 > log/5/stdout587 2> log/5/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/18/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:40803/567 > log/18/stdout567 2> log/18/stderr567 er.cmd Testnum 585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104809 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:39051/585 === End of file stderr585 === Start of file valgrind585 ==137640== ==137640== Process terminating with default action of signal 4 (SIGILL) ==137640== Illegal opcode at address 0x491A6B3 ==137640== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137640== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137640== by 0x491A6B3: Curl_open (url.c:538) ==137640== by 0x48952AF: curl_easy_init (easy.c:377) ==137640== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==137640== by 0x40010BE: main (first.c:196) ==137640== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137640== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137640== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137640== by 0x4A93FA5: tsearch (tsearch.c:290) ==137640== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137640== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137640== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137640== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137640== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137640== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137640== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137640== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137640== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137640== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137640== by 0x49B1142: setlocale (setlocale.c:337) ==137640== by 0x4001054: main (first.c:135) ==137640== ==137640== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137640== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137640== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137640== by 0x4A93FA5: tsearch (tsearch.c:290) ==137640== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137640== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137640== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137640== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137640== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137640== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137640== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137640== by 0x49B1142: setlocale (setlocale.c:337) ==137640== by 0x4001054: main (first.c:135) ==137640== ==137640== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137640== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137640== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137640== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137640== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137640== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137640== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137640== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137640== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137640== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137640== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137640== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137640== by 0x49B1142: setlocale (setlocale.c:337) ==137640== by 0x4001054: main (first.c:135) ==137640== ==137640== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137640== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137640== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137640== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137640== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137640== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137640== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137640== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137640== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137640== by 0x49B1142: setlocale (setlocale.c:337) ==137640== by 0x4001054: main (first.c:135) ==137640== ==137640== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137640== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137640== by 0x491A603: Curl_open (url.c:517) ==137640== by 0x48952AF: curl_easy_init (easy.c:377) ==137640== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==137640== by 0x40010BE: main (first.c:196) ==137640== ==137640== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137640== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137640== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137640== by 0x4A93FA5: tsearch (tsearch.c:290) ==137640== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137640== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137640== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137640== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137640== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137640== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137640== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137640== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137640== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137640== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137640== by 0x49B1142: setlocale (setlocale.c:337) ==137640== by 0x4001054: main (first.c:135) ==137640== ==137640== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137640== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137640== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137640== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137640== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137640== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137640== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137640== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137640== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137640== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137640== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137640== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137640== by 0x49B1142: setlocale (setlocale.c:337) ==137640== by 0x4001054: main (first.c:135) ==137640== === End of file valgrind585 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/18/server/rtsp_server.pid" --portfile "log/18/server/rtsp_server.port" --logfile "log/18/rtsp_server.log" --logdir "log/18" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 136941 port 40803 * pid rtsp => 136941 136941 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/18/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:40803/567 > log/18/stdout567 2> log/18/stderr567 567: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:40803/567 > log/18/stdout567 2> log/18/stderr567 === End of file commands.log === Start of file rtsp_server.log 20:55:00.465108 Running IPv4 version on port 40803 20:55:00.465180 Wrote pid 136941 to log/18/server/rtsp_server.pid 20:55:00.465204 Wrote port 40803 to log/18/server/rtsp_server.port === End of file rtsp_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/16/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:34561/568 log/16/file568.txt > log/16/stdout568 2> log/16/stderr568 === Start of file server.cmd Testnum 567 === End of file server.cmd === Start of file stderr567 URL: rtsp://127.0.0.1:40803/567 === End of file stderr567 === Start of file valgrind567 ==137799== ==137799== Process terminating with default action of signal 4 (SIGILL) ==137799== Illegal opcode at address 0x491A6B3 ==137799== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137799== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137799== by 0x491A6B3: Curl_open (url.c:538) ==137799== by 0x48952AF: curl_easy_init (easy.c:377) ==137799== by 0x4001087: UnknownInlinedFun (lib567.c:42) ==137799== by 0x4001087: main (first.c:196) ==137799== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137799== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137799== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137799== by 0x4A93FA5: tsearch (tsearch.c:290) ==137799== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137799== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137799== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137799== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137799== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137799== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137799== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137799== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137799== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137799== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137799== by 0x49B1142: setlocale (setlocale.c:337) ==137799== by 0x4001047: main (first.c:135) ==137799== ==137799== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137799== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137799== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137799== by 0x4A93FA5: tsearch (tsearch.c:290) ==137799== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137799== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137799== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137799== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137799== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137799== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137799== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137799== by 0x49B1142: setlocale (setlocale.c:337) ==137799== by 0x4001047: main (first.c:135) ==137799== ==137799== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137799== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137799== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137799== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137799== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137799== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137799== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137799== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137799== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137799== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137799== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137799== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137799== by 0x49B1142: setlocale (setlocale.c:337) ==137799== by 0x4001047: main (first.c:135) ==137799== ==137799== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137799== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137799== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137799== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137799== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137799== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137799== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137799== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137799== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137799== by 0x49B1142: setlocale (setlocale.c:337) ==137799== by 0x4001047: main (first.c:135) ==137799== ==137799== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137799== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137799== by 0x491A603: Curl_open (url.c:517) ==137799== by 0x48952AF: curl_easy_init (easy.c:377) ==137799== by 0x4001087: UnknownInlinedFun (lib567.c:42) ==137799== by 0x4001087: main (first.c:196) ==137799== ==137799== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137799== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137799== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137799== by 0x4A93FA5: tsearch (tsearch.c:290) ==137799== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137799== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137799== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137799== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137799== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137799== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137799== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137799== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137799== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137799== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137799== by 0x49B1142: setlocale (setlocale.c:337) ==137799== by 0x4001047: main (first.c:135) ==137799== ==137799== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137799== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137799== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137799== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137799== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137799== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137799== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137799== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137799== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137799== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137799== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137799== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137799== by 0x49B1142: setlocale (setlocale.c:337) ==137799== by 0x4001047: main (first.c:135) ==137799== === End of file valgrind567 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/16/server/rtsp_server.pid" --portfile "log/16/server/rtsp_server.port" --logfile "log/16/rtsp_server.log" --logdir "log/16" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 136942 port 34561 * pid rtsp => 136942 136942 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/16/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:34561/568 log/16/file568.txt > log/16/stdout568 2> log/16/stderr568 568: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:34561/568 log/16/file568.txt > log/16/stdout568 2> log/16/stderr568 === End of file commands.log === 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=acannot 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/valgrind586 ./libtest/lib585 ftp://127.0.0.1:45405/586 > log/11/stdout586 2> log/11/stderr586 udio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 === End of file file568.txt === Start of file rtsp_server.log 20:55:00.467606 Running IPv4 version on port 34561 20:55:00.467672 Wrote pid 136942 to log/16/server/rtsp_server.pid 20:55:00.467694 Wrote port 34561 to log/16/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 568 === End of file server.cmd === Start of file stderr568 URL: rtsp://127.0.0.1:34561/568 === End of file stderr568 === Start of file valgrind568 ==137811== ==137811== Process terminating with default action of signal 4 (SIGILL) ==137811== Illegal opcode at address 0x491A6B3 ==137811== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137811== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137811== by 0x491A6B3: Curl_open (url.c:538) ==137811== by 0x48952AF: curl_easy_init (easy.c:377) ==137811== by 0x40010AA: UnknownInlinedFun (lib568.c:60) ==137811== by 0x40010AA: main (first.c:196) ==137811== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137811== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137811== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137811== by 0x4A93FA5: tsearch (tsearch.c:290) ==137811== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137811== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137811== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137811== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137811== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137811== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137811== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137811== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137811== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137811== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137811== by 0x49B1142: setlocale (setlocale.c:337) ==137811== by 0x4001059: main (first.c:135) ==137811== ==137811== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137811== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137811== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137811== by 0x4A93FA5: tsearch (tsearch.c:290) ==137811== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137811== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137811== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137811== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137811== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137811== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137811== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137811== by 0x49B1142: setlocale (setlocale.c:337) ==137811== by 0x4001059: main (first.c:135) ==137811== ==137811== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137811== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137811== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137811== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137811== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137811== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137811== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137811== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137811== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137811== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137811== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137811== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137811== by 0x49B1142: setlocale (setlocale.c:337) ==137811== by 0x4001059: main (first.c:135) ==137811== ==137811== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137811== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137811== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137811== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137811== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137811== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137811== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137811== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137811== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137811== by 0x49B1142: setlocale (setlocale.c:337) ==137811== by 0x4001059: main (first.c:135) ==137811== ==137811== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137811== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137811== by 0x491A603: Curl_open (url.c:517) ==137811== by 0x48952AF: curl_easy_init (easy.c:377) ==137811== by 0x40010AA: UnknownInlinedFun (lib568.c:60) ==137811== by 0x40010AA: main (first.c:196) ==137811== ==137811== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137811== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137811== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137811== by 0x4A93FA5: tsearch (tsearch.c:290) ==137811== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137811== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137811== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137811== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137811== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137811== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137811== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137811== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137811== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137811== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137811== by 0x49B1142: setlocale (setlocale.c:337) ==137811== by 0x4001059: main (first.c:135) ==137811== ==137811== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137811== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137811== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137811== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137811== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137811== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137811== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137811== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137811== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137811== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137811== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137811== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137811== by 0x49B1142: setlocale (setlocale.c:337) ==137811== by 0x4001059: main (first.c:135) ==137811== === End of file valgrind568 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/11/valgrind586 ./libtest/lib585 ftp://127.0.0.1:45405/586 > log/11/stdout586 2> log/11/stderr586 586: 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 586 === Start of file commands.log ../libtool --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/valgrind586 ./libtest/lib585 ftp://127.0.0.1:45405/586 > log/11/stdout586 2> log/11/stderr586 === End of file commands.log === Start of file ftp_server.log 20:55:01.189760 ====> Client connect 20:55:01.189903 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.190261 < "USER anonymous" 20:55:01.190291 > "331 We are happy you popped in![CR][LF]" 20:55:01.190486 < "PASS ftp@example.com" 20:55:01.190505 > "230 Welcome you silly person[CR][LF]" 20:55:01.190603 < "PWD" 20:55:01.190624 > "257 "/" is current directory[CR][LF]" 20:55:01.190786 < "EPSV" 20:55:01.190820 ====> Passive DATA channel requested by client 20:55:01.190830 DATA sockfilt for passive data channel starting... 20:55:01.192179 DATA sockfilt for passive data channel started (pid 137744) 20:55:01.192287 DATA sockfilt for passive data channel listens on port 38081 20:55:01.192324 > "229 Entering Passive Mode (|||38081|)[LF]" 20:55:01.192338 Client has been notified that DATA conn will be accepted on port 38081 20:55:01.192489 Client connects to port 38081 20:55:01.192521 ====> Client established passive DATA connection on port 38081 20:55:01.192570 < "TYPE I" 20:55:01.192588 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.192691 < "SIZE verifiedserver" 20:55:01.192715 > "213 18[CR][LF]" 20:55:01.192826 < "RETR verifiedserver" 20:55:01.192850 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.192914 =====> Closing passive DATA connection... 20:55:01.192924 Server disconnects passive DATA connection 20:55:01.193102 Server disconnected passive DATA connection 20:55:01.193121 DATA sockfilt for passive data channel quits (pid 137744) 20:55:01.193300 DATA sockfilt for passive data channel quit (pid 137744) 20:55:01.193320 =====> Closed passive DATA connection 20:55:01.193344 > "226 File transfer complete[CR][LF]" 20:55:01.239077 < "QUIT" 20:55:01.239119 > "221 bye bye baby[CR][LF]" 20:55:01.239621 MAIN sockfilt said DISC 20:55:01.239662 ====> Client disconnected 20:55:01.239720 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.411151 ====> Client connect 20:55:01.411421 Received DATA (on stdin) 20:55:01.411434 > 160 bytes data, server => client 20:55:01.411443 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:01.411450 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:01.411457 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:01.411641 < 16 bytes data, client => server 20:55:01.411653 'USER anonymous\r\n' 20:55:01.411799 Received DATA (on stdin) 20:55:01.411808 > 33 bytes data, server => client 20:55:01.411816 '331 We are happy you popped in!\r\n' 20:55:01.411926 < 22 bytes data, client => server 20:55:01.411936 'PASS ftp@example.com\r\n' 20:55:01.412009 Received DATA (on stdin) 20:55:01.412017 > 30 bytes data, server => client 20:55:01.412024 '230 Welcome you silly person\r\n' 20:55:01.412055 < 5 bytes data, client => server 20:55:01.412062 'PWD\r\n' 20:55:01.412128 Received DATA (on stdin) 20:55:01.412136 > 30 bytes data, server => client 20:55:01.412143 '257 "/" is current directory\r\n' 20:55:01.412181 < 6 bytes data, client => server 20:55:01.412188 'EPSV\r\n' 20:55:01.413848 Received DATA (on stdin) 20:55:01.413858 > 38 bytes data, server => client 20:55:01.413866 '229 Entering Passive Mode (|||38081|)\n' 20:55:01.413963 < 8 bytes data, client => server 20:55:01.413971 'TYPE I\r\n' 20:55:01.414093 Received DATA (on stdin) 20:55:01.414101 > 33 bytes data, server => client 20:55:01.414108 '200 I modify TYPE as you wanted\r\n' 20:55:01.414143 < 21 bytes data, client => server 20:55:01.414150 'SIZE verifiedserver\r\n' 20:55:01.414228 Received DATA (on stdin) 20:55:01.414236 > 8 bytes data, server => client 20:55:01.414243 '213 18\r\n' 20:55:01.414279 < 21 bytes data, client => server 20:55:01.414286 'RETR verifiedserver\r\n' 20:55:01.414432 Received DATA (on stdin) 20:55:01.414440 > 29 bytes data, server => client 20:55:01.414447 '150 Binary junk (18 bytes).\r\n' 20:55:01.414851 Received DATA (on stdin) 20:55:01.414861 > 28 bytes data, server => client 20:55:01.414869 '226 File transfer complete\r\n' 20:55:01.460401 < 6 bytes data, client => server 20:55:01.460424 'QUIT\r\n' 20:55:01.460631 Received DATA (on stdin) 20:55:01.460641 > 18 bytes data, server => client 20:55:01.460648 '221 bye bye baby\r\n' 20:55:01.461071 ====> Client disconnect 20:55:01.461226 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.413558 Running IPv4 version 20:55:01.413596 Listening on port 38081 20:55:01.413621 Wrote pid 137744 to log/11/server/ftp_sockdata.pid 20:55:01.413636 Received PING (on stdin) 20:55:01.413716 Received PORT (on stdin) 20:55:01.413944 ====> Client connect 20:55:01.414487 Received DATA (on stdin) 20:55:01.414497 > 18 bytes data, server => client 20:55:01.414504 'WE ROOLZ: 110833\r\n' 20:55:01.414524 Received DISC (on stdin) 20:55:01.414532 ====> Client forcibly disconnected 20:55:01.414630 Received QUIT (on stdin) 20:55:01.414649 quits 20:55:01.414695 ============> 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:45405/586 === End of file stderr586 === Start of file valgrind586 ==137839== ==137839== Process terminating with default action of signal 4 (SIGILL) ==137839== Illegal opcode at address 0x491A6B3 ==137839== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137839== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137839== by 0x491A6B3: Curl_open (url.c:538) ==137839== by 0x48952AF: curl_easy_init (easy.c:377) ==137839== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==137839== by 0x40010BE: main (first.c:196) ==137839== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==137839== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137839== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137839== by 0x4A93FA5: tsearch (tsearch.c:290) ==137839== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137839== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137839== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137839== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137839== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137839== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137839== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137839== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137839== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137839== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137839== by 0x49B1142: setlocale (setlocale.c:337) ==137839== by 0x4001054: main (first.c:135) ==137839== ==137839== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==137839== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137839== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137839== by 0x4A93FA5: tsearch (tsearch.c:290) ==137839== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137839== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137839== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137839== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137839== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137839== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137839== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137839== by 0x49B1142: setlocale (setlocale.c:337) ==137839== by 0x4001054: main (first.c:135) ==137839== ==137839== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==137839== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137839== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137839== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137839== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137839== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137839== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137839== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137839== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137839== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137839== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137cannot 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/24/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:40033/569 log/24/idfile569.txt > log/24/stdout569 2> log/24/stderr569 839== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137839== by 0x49B1142: setlocale (setlocale.c:337) ==137839== by 0x4001054: main (first.c:135) ==137839== ==137839== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==137839== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137839== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137839== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137839== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137839== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137839== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137839== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137839== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137839== by 0x49B1142: setlocale (setlocale.c:337) ==137839== by 0x4001054: main (first.c:135) ==137839== ==137839== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==137839== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137839== by 0x491A603: Curl_open (url.c:517) ==137839== by 0x48952AF: curl_easy_init (easy.c:377) ==137839== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==137839== by 0x40010BE: main (first.c:196) ==137839== ==137839== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==137839== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137839== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137839== by 0x4A93FA5: tsearch (tsearch.c:290) ==137839== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137839== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137839== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137839== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137839== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137839== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137839== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137839== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137839== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137839== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137839== by 0x49B1142: setlocale (setlocale.c:337) ==137839== by 0x4001054: main (first.c:135) ==137839== ==137839== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==137839== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137839== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137839== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137839== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137839== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137839== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137839== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137839== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137839== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137839== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137839== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137839== by 0x49B1142: setlocale (setlocale.c:337) ==137839== by 0x4001054: main (first.c:135) ==137839== === End of file valgrind586 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/24/server/rtsp_server.pid" --portfile "log/24/server/rtsp_server.port" --logfile "log/24/rtsp_server.log" --logdir "log/24" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 136960 port 40033 * pid rtsp => 136960 136960 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/24/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:40033/569 log/24/idfile569.txt > log/24/stdout569 2> log/24/stderr569 569: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:40033/569 log/24/idfile569.txt > log/24/stdout569 2> log/24/stderr569 === End of file commands.log === Start of file rtsp_server.log 20:55:00.477619 Running IPv4 version on port 40033 20:55:00.477703 Wrote pid 136960 to log/24/server/rtsp_server.pid 20:55:00.477729 Wrote port 40033 to log/24/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 569 === End of file server.cmd === Start of file stderr569 URL: rtsp://127.0.0.1:40033/569 === End of file stderr569 === Start of file valgrind569 ==137856== ==137856== Process terminating with default action of signal 4 (SIGILL) ==137856== Illegal opcode at address 0x491A6B3 ==137856== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137856== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137856== by 0x491A6B3: Curl_open (url.c:538) ==137856== by 0x48952AF: curl_easy_init (easy.c:377) ==137856== by 0x40010C9: UnknownInlinedFun (lib569.c:57) ==137856== by 0x40010C9: main (first.c:196) ==137856== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==137856== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137856== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137856== by 0x4A93FA5: tsearch (tsearch.c:290) ==137856== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137856== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137856== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137856== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137856== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137856== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137856== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137856== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137856== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137856== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137856== by 0x49B1142: setlocale (setlocale.c:337) ==137856== by 0x4001058: main (first.c:135) ==137856== ==137856== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==137856== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137856== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137856== by 0x4A93FA5: tsearch (tsearch.c:290) ==137856== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137856== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137856== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137856== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137856== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137856== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137856== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137856== by 0x49B1142: setlocale (setlocale.c:337) ==137856== by 0x4001058: main (first.c:135) ==137856== ==137856== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==137856== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137856== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137856== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137856== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137856== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137856== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137856== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137856== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137856== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137856== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137856== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==cannot find sshd 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/13/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:36925/572 log/13/file572.txt > log/13/stdout572 2> log/13/stderr572 137856== by 0x49B1142: setlocale (setlocale.c:337) ==137856== by 0x4001058: main (first.c:135) ==137856== ==137856== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==137856== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137856== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137856== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137856== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137856== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137856== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137856== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137856== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137856== by 0x49B1142: setlocale (setlocale.c:337) ==137856== by 0x4001058: main (first.c:135) ==137856== ==137856== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==137856== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137856== by 0x491A603: Curl_open (url.c:517) ==137856== by 0x48952AF: curl_easy_init (easy.c:377) ==137856== by 0x40010C9: UnknownInlinedFun (lib569.c:57) ==137856== by 0x40010C9: main (first.c:196) ==137856== ==137856== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==137856== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137856== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137856== by 0x4A93FA5: tsearch (tsearch.c:290) ==137856== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137856== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137856== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137856== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137856== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137856== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137856== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137856== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137856== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137856== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137856== by 0x49B1142: setlocale (setlocale.c:337) ==137856== by 0x4001058: main (first.c:135) ==137856== ==137856== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==137856== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137856== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137856== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137856== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137856== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137856== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137856== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137856== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137856== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137856== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137856== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137856== by 0x49B1142: setlocale (setlocale.c:337) ==137856== by 0x4001058: main (first.c:135) ==137856== === End of file valgrind569 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/13/server/rtsp_server.pid" --portfile "log/13/server/rtsp_server.port" --logfile "log/13/rtsp_server.log" --logdir "log/13" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 137022 port 36925 * pid rtsp => 137022 137022 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/13/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:36925/572 log/13/file572.txt > log/13/stdout572 2> log/13/stderr572 572: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:36925/572 log/13/file572.txt > log/13/stdout572 2> log/13/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 20:55:00.693536 Running IPv4 version on port 36925 20:55:00.693601 Wrote pid 137022 to log/13/server/rtsp_server.pid 20:55:00.693624 Wrote port 36925 to log/13/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 572 === End of file server.cmd === Start of file stderr572 URL: rtsp://127.0.0.1:36925/572 === End of file stderr572 === Start of file valgrind572 ==138038== ==138038== Process terminating with default action of signal 4 (SIGILL) ==138038== Illegal opcode at address 0x491A6B3 ==138038== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138038== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138038== by 0x491A6B3: Curl_open (url.c:538) ==138038== by 0x48952AF: curl_easy_init (easy.c:377) ==138038== by 0x40010AA: UnknownInlinedFun (lib572.c:60) ==138038== by 0x40010AA: main (first.c:196) ==138038== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138038== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138038== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138038== by 0x4A93FA5: tsearch (tsearch.c:290) ==138038== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138038== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138038== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138038== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138038== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138038== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138038== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138038== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138038== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138038== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138038== by 0x49B1142: setlocale (setlocale.c:337) ==138038== by 0x4001059: main (first.c:135) ==138038== ==138038== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138038== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138038== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138038== by 0x4A93FA5: tsearch (tsearch.c:290) ==138038== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138038== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138038== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138038== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138038== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138038== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138038== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138038== by 0x49B1142: setlocale (setlocale.c:337) ==138038== by 0x4001059: main (first.c:135) ==138038== ==138038== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138038== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138038== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138038== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138038== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138038== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138038== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138038== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138038== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138038== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138038== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138038== by 0x49AEA3D: _nl_find_localeCMD (33792): ../libtool --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/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:39169/570 > log/7/stdout570 2> log/7/stderr570 CMD (33792): ../libtool --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/valgrind589 ./libtest/lib589 http://127.0.0.1:46863/589 > log/9/stdout589 2> log/9/stderr589 (findlocale.c:298) ==138038== by 0x49B1142: setlocale (setlocale.c:337) ==138038== by 0x4001059: main (first.c:135) ==138038== ==138038== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138038== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138038== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138038== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138038== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138038== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138038== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138038== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138038== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138038== by 0x49B1142: setlocale (setlocale.c:337) ==138038== by 0x4001059: main (first.c:135) ==138038== ==138038== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138038== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138038== by 0x491A603: Curl_open (url.c:517) ==138038== by 0x48952AF: curl_easy_init (easy.c:377) ==138038== by 0x40010AA: UnknownInlinedFun (lib572.c:60) ==138038== by 0x40010AA: main (first.c:196) ==138038== ==138038== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138038== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138038== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138038== by 0x4A93FA5: tsearch (tsearch.c:290) ==138038== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138038== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138038== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138038== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138038== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138038== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138038== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138038== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138038== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138038== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138038== by 0x49B1142: setlocale (setlocale.c:337) ==138038== by 0x4001059: main (first.c:135) ==138038== ==138038== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138038== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138038== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138038== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138038== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138038== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138038== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138038== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138038== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138038== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138038== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138038== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138038== by 0x49B1142: setlocale (setlocale.c:337) ==138038== by 0x4001059: main (first.c:135) ==138038== === End of file valgrind572 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/7/server/rtsp_server.pid" --portfile "log/7/server/rtsp_server.port" --logfile "log/7/rtsp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 137019 port 39169 * pid rtsp => 137019 137019 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/7/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:39169/570 > log/7/stdout570 2> log/7/stderr570 570: 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 570 === Start of file commands.log ../libtool --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/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:39169/570 > log/7/stdout570 2> log/7/stderr570 === End of file commands.log === Start of file rtsp_server.log 20:55:00.680730 Running IPv4 version on port 39169 20:55:00.680803 Wrote pid 137019 to log/7/server/rtsp_server.pid 20:55:00.680834 Wrote port 39169 to log/7/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 570 === End of file server.cmd === Start of file stderr570 URL: rtsp://127.0.0.1:39169/570 === End of file stderr570 === Start of file valgrind570 ==138007== ==138007== Process terminating with default action of signal 4 (SIGILL) ==138007== Illegal opcode at address 0x491A6B3 ==138007== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138007== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138007== by 0x491A6B3: Curl_open (url.c:538) ==138007== by 0x48952AF: curl_easy_init (easy.c:377) ==138007== by 0x4001085: UnknownInlinedFun (lib570.c:45) ==138007== by 0x4001085: main (first.c:196) ==138007== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138007== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138007== by 0x4A93FA5: tsearch (tsearch.c:290) ==138007== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138007== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138007== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138007== by 0x49B1142: setlocale (setlocale.c:337) ==138007== by 0x4001045: main (first.c:135) ==138007== ==138007== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138007== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138007== by 0x4A93FA5: tsearch (tsearch.c:290) ==138007== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138007== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138007== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138007== by 0x49B1142: setlocale (setlocale.c:337) ==138007== by 0x4001045: main (first.c:135) ==138007== ==138007== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138007== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138007== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138007== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138007== by 0x49B1142: setlocale (setlocale.c:337) ==138007== by 0x400104CMD (33792): ../libtool --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/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:33337 > log/12/stdout590 2> log/12/stderr590 5: main (first.c:135) ==138007== ==138007== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138007== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138007== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138007== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138007== by 0x49B1142: setlocale (setlocale.c:337) ==138007== by 0x4001045: main (first.c:135) ==138007== ==138007== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138007== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138007== by 0x491A603: Curl_open (url.c:517) ==138007== by 0x48952AF: curl_easy_init (easy.c:377) ==138007== by 0x4001085: UnknownInlinedFun (lib570.c:45) ==138007== by 0x4001085: main (first.c:196) ==138007== ==138007== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138007== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138007== by 0x4A93FA5: tsearch (tsearch.c:290) ==138007== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138007== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138007== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138007== by 0x49B1142: setlocale (setlocale.c:337) ==138007== by 0x4001045: main (first.c:135) ==138007== ==138007== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138007== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138007== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138007== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138007== by 0x49B1142: setlocale (setlocale.c:337) ==138007== by 0x4001045: main (first.c:135) ==138007== === End of file valgrind570 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/9/valgrind589 ./libtest/lib589 http://127.0.0.1:46863/589 > log/9/stdout589 2> log/9/stderr589 589: 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 589 === Start of file commands.log ../libtool --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/valgrind589 ./libtest/lib589 http://127.0.0.1:46863/589 > log/9/stdout589 2> log/9/stderr589 === End of file commands.log === Start of file http_server.log 20:55:01.714136 ====> Client connect 20:55:01.714164 accept_connection 3 returned 4 20:55:01.714180 accept_connection 3 returned 0 20:55:01.714193 Read 93 bytes 20:55:01.714202 Process 93 bytes request 20:55:01.714216 Got request: GET /verifiedserver HTTP/1.1 20:55:01.714225 Are-we-friendly question received 20:55:01.714246 Wrote request (93 bytes) input to log/9/server.input 20:55:01.714262 Identifying ourselves as friends 20:55:01.714310 Response sent (57 bytes) and written to log/9/server.response 20:55:01.714319 special request received, no persistency 20:55:01.714327 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:46863/589 === End of file stderr589 === Start of file valgrind589 ==138164== ==138164== Process terminating with default action of signal 4 (SIGILL) ==138164== Illegal opcode at address 0x491A6B3 ==138164== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138164== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138164== by 0x491A6B3: Curl_open (url.c:538) ==138164== by 0x48952AF: curl_easy_init (easy.c:377) ==138164== by 0x4001081: UnknownInlinedFun (lib589.c:38) ==138164== by 0x4001081: main (first.c:196) ==138164== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138164== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138164== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138164== by 0x4A93FA5: tsearch (tsearch.c:290) ==138164== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138164== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138164== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138164== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138164== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138164== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138164== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138164== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138164== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138164== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138164== by 0x49B1142: setlocale (setlocale.c:337) ==138164== by 0x4001041: main (first.c:135) ==138164== ==138164== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138164== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138164== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138164== by 0x4A93FA5: tsearch (tsearch.c:290) ==138164== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138164== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138164== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138164== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138164== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138164== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138164== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138164== by 0x49B1142: setlocale (setlocale.c:337) ==138164== by 0x4001041: main (first.c:135) ==138164== ==138164== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138164== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138164== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138164== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138164== by 0x49A63F0: add_alias (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/4/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:43047/571 log/4/protofile571.txt > log/4/stdout571 2> log/4/stderr571 :178) ==138164== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138164== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138164== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138164== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138164== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138164== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138164== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138164== by 0x49B1142: setlocale (setlocale.c:337) ==138164== by 0x4001041: main (first.c:135) ==138164== ==138164== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138164== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138164== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138164== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138164== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138164== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138164== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138164== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138164== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138164== by 0x49B1142: setlocale (setlocale.c:337) ==138164== by 0x4001041: main (first.c:135) ==138164== ==138164== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138164== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138164== by 0x491A603: Curl_open (url.c:517) ==138164== by 0x48952AF: curl_easy_init (easy.c:377) ==138164== by 0x4001081: UnknownInlinedFun (lib589.c:38) ==138164== by 0x4001081: main (first.c:196) ==138164== ==138164== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138164== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138164== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138164== by 0x4A93FA5: tsearch (tsearch.c:290) ==138164== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138164== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138164== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138164== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138164== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138164== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138164== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138164== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138164== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138164== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138164== by 0x49B1142: setlocale (setlocale.c:337) ==138164== by 0x4001041: main (first.c:135) ==138164== ==138164== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138164== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138164== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138164== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138164== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138164== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138164== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138164== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138164== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138164== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138164== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138164== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138164== by 0x49B1142: setlocale (setlocale.c:337) ==138164== by 0x4001041: main (first.c:135) ==138164== === 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/12/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:33337 > log/12/stdout590 2> log/12/stderr590 590: 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 590 === Start of file commands.log ../libtool --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/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:33337 > log/12/stdout590 2> log/12/stderr590 === End of file commands.log === Start of file http_server.log 20:55:01.725120 ====> Client connect 20:55:01.725152 accept_connection 3 returned 4 20:55:01.725169 accept_connection 3 returned 0 20:55:01.725184 Read 93 bytes 20:55:01.725193 Process 93 bytes request 20:55:01.725206 Got request: GET /verifiedserver HTTP/1.1 20:55:01.725215 Are-we-friendly question received 20:55:01.725238 Wrote request (93 bytes) input to log/12/server.input 20:55:01.725253 Identifying ourselves as friends 20:55:01.725306 Response sent (57 bytes) and written to log/12/server.response 20:55:01.725315 special request received, no persistency 20:55:01.725324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === 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 ==138216== ==138216== Process terminating with default action of signal 4 (SIGILL) ==138216== Illegal opcode at address 0x491A6B3 ==138216== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138216== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138216== by 0x491A6B3: Curl_open (url.c:538) ==138216== by 0x48952AF: curl_easy_init (easy.c:377) ==138216== by 0x40010AB: UnknownInlinedFun (lib590.c:52) ==138216== by 0x40010AB: main (first.c:196) ==138216== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138216== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138216== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138216== by 0x4A93FA5: tsearch (tsearch.c:290) ==138216== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138216== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138216== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138216== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138216== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138216== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138216== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138216== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138216== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138216== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138216== by 0x49B1142: setlocale (setlocale.c:337) ==138216== by 0x4001052: main (first.c:135) ==138216== ==138216== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138216== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138216== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138216== by 0x4A93FA5: tsearch (tsearch.c:290) ==138216== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138216== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138216== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138216== 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/17/valgrind588 ./libtest/lib525 ftp://127.0.0.1:42765/path/588 log/17/upload588 > log/17/stdout588 2> log/17/stderr588 4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138216== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138216== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138216== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138216== by 0x49B1142: setlocale (setlocale.c:337) ==138216== by 0x4001052: main (first.c:135) ==138216== ==138216== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138216== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138216== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138216== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138216== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138216== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138216== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138216== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138216== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138216== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138216== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138216== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138216== by 0x49B1142: setlocale (setlocale.c:337) ==138216== by 0x4001052: main (first.c:135) ==138216== ==138216== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138216== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138216== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138216== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138216== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138216== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138216== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138216== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138216== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138216== by 0x49B1142: setlocale (setlocale.c:337) ==138216== by 0x4001052: main (first.c:135) ==138216== ==138216== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138216== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138216== by 0x491A603: Curl_open (url.c:517) ==138216== by 0x48952AF: curl_easy_init (easy.c:377) ==138216== by 0x40010AB: UnknownInlinedFun (lib590.c:52) ==138216== by 0x40010AB: main (first.c:196) ==138216== ==138216== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138216== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138216== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138216== by 0x4A93FA5: tsearch (tsearch.c:290) ==138216== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138216== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138216== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138216== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138216== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138216== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138216== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138216== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138216== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138216== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138216== by 0x49B1142: setlocale (setlocale.c:337) ==138216== by 0x4001052: main (first.c:135) ==138216== ==138216== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138216== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138216== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138216== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138216== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138216== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138216== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138216== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138216== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138216== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138216== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138216== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138216== by 0x49B1142: setlocale (setlocale.c:337) ==138216== by 0x4001052: main (first.c:135) ==138216== === End of file valgrind590 cannot find sshd 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: RTSP server PID 137020 port 43047 * pid rtsp => 137020 137020 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/4/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:43047/571 log/4/protofile571.txt > log/4/stdout571 2> log/4/stderr571 571: stdout FAILED: --- log/4/check-expected 2025-06-04 20:55:02.433032039 +0000 +++ log/4/check-generated 2025-06-04 20:55:02.433032039 +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/4/ 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 commands.log ../libtool --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/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:43047/571 log/4/protofile571.txt > log/4/stdout571 2> log/4/stderr571 === End of file commands.log === Start of file rtsp_server.log 20:55:00.686731 Running IPv4 version on port 43047 20:55:00.686786 Wrote pid 137020 to log/4/server/rtsp_server.pid 20:55:00.686807 Wrote port 43047 to log/4/server/rtsp_server.port === End of file rtsp_server.log === 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 stderr571 URL: rtsp://127.0.0.1:43047/571 === End of file stderr571 === Start of file valgrind571 ==138033== ==138033== Process terminating with default action of signal 4 (SIGILL) ==138033== Illegal opcode at address 0x491A6B3 ==138033== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138033== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138033== by 0x491A6B3: Curl_open (url.c:538) ==138033== by 0x48952AF: curl_easy_init (easy.c:377) ==138033== by 0x40010BA: UnknownInlinedFun (lib571.c:123) ==138033== by 0x40010BA: main (first.c:196) ==138033== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==138033== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138033== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138033== by 0x4A93FA5: tsearch (tsearch.c:290) ==138033== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138033== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138033== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138033== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138033== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138033== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138033== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138033== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138033== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138033== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138033== by 0x49B1142: setlocale (setlocale.c:337) ==138033== by 0x4001049: main (first.c:135) ==138033== ==138033== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==138033== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138033== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138033== by 0x4A93FA5: tsearch (tsearch.c:290) ==138033== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138033== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138033== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138033== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138033== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138033== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138033== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138033== by 0x49B1142: setlocale (setlocale.c:337) ==138033== by 0x4001049: main (first.c:135) ==138033== ==138033== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==138033== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138033== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138033== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138033== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138033== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138033== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138033== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138033== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138033== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138033== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138033== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138033== by 0x49B1142: setlocale (setlocale.c:337) ==138033== by 0x4001049: main (first.c:135) ==138033== ==138033== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==138033== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138033== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138033== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138033== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138033== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138033== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138033== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138033== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138033== by 0x49B1142: setlocale (setlocale.c:337) ==138033== by 0x4001049: main (first.c:135) ==138033== ==138033== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==138033== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138033== by 0x491A603: Curl_open (url.c:517) ==138033== by 0x48952AF: curl_easy_init (easy.c:377) ==138033== by 0x40010BA: UnknownInlinedFun (lib571.c:123) ==138033== by 0x40010BA: main (first.c:196) ==138033== ==138033== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==138033== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138033== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138033== by 0x4A93FA5: tsearch (tsearch.c:290) ==138033== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138033== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138033== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138033== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138033== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138033== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138033== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138033== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138033== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138033== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138033== by 0x49B1142: setlocale (setlocale.c:337) ==138033== by 0x4001049: main (first.c:135) ==138033== ==138033== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==138033== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138033== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138033== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138033== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138033== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138033== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138033== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138033== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138033== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138033== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138033== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138033== by 0x49B1142: setlocale (setlocale.c:337) ==138033== by 0x4001049: main (first.c:135) ==138033== === End of file valgrind571 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/17/valgrind588 ./libtest/lib525 ftp://127.0.0.1:42765/path/588 log/17/upload588 > log/17/stdout588 2> log/17/stderr588 588: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 588 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind588 ./libtest/lib525 ftp://127.0.0.1:42765/path/588 log/17/upload588 > log/17/stdout588 2> log/17/stderr588 === End of file commands.log === Start of file ftp_server.log 20:55:01.484049 ====> Client connect 20:55:01.484187 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.484455 < "USER anonymous" 20:55:01.484490 > "331 We are happy you popped in![CR][LF]" 20:55:01.484646 < "PASS ftp@example.com" 20:55:01.484671 > "230 Welcome you silly person[CR][LF]" 20:55:01.484788 < "PWD" 20:55:01.484812 > "257 "/" is current directory[CR][LF]" 20:55:01.484928 < "EPSV" 20:55:01.484946 ====> Passive DATA channel requested by client 20:55:01.484956 DATA sockfilt for passive data channel starting... 20:55:01.486328 DATA sockfilt for passive data channel started (pid 138083) 20:55:01.486429 DATA sockfilt for passive data channel listens on port 45371 20:55:01.486470 > "229 Entering Passive Mode (|||45371|)[LF]" 20:55:01.486490 Client has been notified that DATA conn will be accepted on port 45371 20:55:01.486672 Client connects to port 45371 20:55:01.486698 ====> Client established passive DATA connection on port 45371 20:55:01.486748 < "TYPE I" 20:55:01.486770 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.486879 < "SIZE verifiedserver" 20:55:01.486907 > "213 18[CR][LF]" 20:55:01.487010 < "RETR verifiedserver" 20:55:01.487037 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.487101 =====> Closing passive DATA connection... 20:55:01.487116 Server disconnects passive DATA connection 20:55:01.487171 Server disconnected passive DATA connection 20:55:01.487190 DATA sockfilt for passive data channel quits (pid 138083) 20:55:01.487359 DATA sockfilt for passive data channel quit (pid 138083) 20:55:01.487381 =====> Closed passive DATA connection 20:55:01.487406 > "226 File transfer complete[CR][LF]" 20:55:01.534135 < "QUIT" 20:55:01.534195 > "221 bye bye baby[CR][LF]" 20:55:01.534462 MAIN sockfilt said DISC 20:55:01.534514 ====> Client disconnected 20:55:01.534586 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.705460 ====> Client connect 20:55:01.705710 Received DATA (on stdin) 20:55:01.705725 > 160 bytes data, server => client 20:55:01.705736 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:01.705745 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:01.705754 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:01.705825 < 16 bytes data, client => server 20:55:01.705840 'USER anonymous\r\n' 20:55:01.706003 Received DATA (on stdin) 20:55:01.706015 > 33 bytes data, server => client 20:55:01.706026 '331 We are happy you popped in!\r\n' 20:55:01.706074 < 22 bytes data, client => server 20:55:01.706085 'PASS ftp@example.com\r\n' 20:55:01.706183 Received DATA (on stdin) 20:55:01.706196 > 30 bytes data, server => client 20:55:01.706204 '230 Welcome you silly person\r\n' 20:55:01.706243 < 5 bytes data, client => server 20:55:01.706254 'PWD\r\n' 20:55:01.706318 Received DATA (on stdin) 20:55:01.706327 > 30 bytes data, server => client 20:55:01.706335 '257 "/" is current directory\r\n' 20:55:01.706383 < 6 bytes data, client => server 20:55:01.706396 'EPSV\r\n' 20:55:01.708006 Received DATA (on stdin) 20:55:01.708019 > 38 bytes data, server => client 20:55:01.708031 '229 Entering Passive Mode (|||45371|)\n' 20:55:01.708151 < 8 bytes data, client => server 20:55:01.708164 'TYPE I\r\n' 20:55:01.708276 Received DATA (on stdin) 20:55:01.708286 > 33 bytes data, server => client 20:55:01.708294 '200 I modify TYPE as you wanted\r\n' 20:55:01.708334 < 21 bytes data, client => server 20:55:01.708347 'SIZE verifiedserver\r\n' 20:55:01.708414 Received DATA (on stdin) 20:55:01.708423 > 8 bytes data, server => client 20:55:01.708430 '213 18\r\n' 20:55:01.708467 < 21 bytes data, client => server 20:55:01.708479 'RETR verifiedserver\r\n' 20:55:01.708616 Received DATA (on stdin) 20:55:01.708628 > 29 bytes data, server => client 20:55:01.708638 '150 Binary junk (18 bytes).\r\n' 20:55:01.708917 Received DATA (on stdin) 20:55:01.708930 > 28 bytes data, server => client 20:55:01.708940 '226 File transfer complete\r\n' 20:55:01.755449 < 6 bytes data, client => server 20:55:01.755482 'QUIT\r\n' 20:55:01.755710 Received DATA (on stdin) 20:55:01.755720 > 18 bytes data, server => client 20:55:01.755730 '221 bye bye baby\r\n' 20:55:01.755894 ====> Client disconnect 20:55:01.756097 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.707706 Running IPv4 version 20:55:01.707749 Listening on port 45371 20:55:01.707776 Wrote pid 138083 to log/17/server/ftp_sockdata.pid 20:55:01.707791 Received PING (on stdin) 20:55:01.707862 Received PORT (on stdin) 20:55:01.708135 ====> Client connect 20:55:01.708552 Received DATA (on stdin) 20:55:01.708567 > 18 bytes data, server => client 20:55:01.708577 'WE ROOLZ: 110706\r\n' 20:55:01.708628 Received DISC (on stdin) 20:55:01.708638 ====> Client forcibly disconnected 20:55:01.cannot find sshd cannot find sshd cannot find sshd cannot find sshd 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/10/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:46237/577 > log/10/stdout577 2> log/10/stderr577 708704 Received QUIT (on stdin) 20:55:01.708715 quits 20:55:01.708759 ============> 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:42765/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==138275== ==138275== Process terminating with default action of signal 4 (SIGILL) ==138275== Illegal opcode at address 0x491A6B3 ==138275== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138275== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138275== by 0x491A6B3: Curl_open (url.c:538) ==138275== by 0x48952AF: curl_easy_init (easy.c:377) ==138275== by 0x40012FB: test (lib525.c:86) ==138275== by 0x400107D: main (first.c:196) ==138275== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==138275== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138275== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138275== by 0x4A93FA5: tsearch (tsearch.c:290) ==138275== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138275== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138275== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138275== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138275== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138275== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138275== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138275== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138275== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138275== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138275== by 0x49B1142: setlocale (setlocale.c:337) ==138275== by 0x4001041: main (first.c:135) ==138275== ==138275== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==138275== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138275== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138275== by 0x4A93FA5: tsearch (tsearch.c:290) ==138275== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138275== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138275== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138275== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138275== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138275== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138275== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138275== by 0x49B1142: setlocale (setlocale.c:337) ==138275== by 0x4001041: main (first.c:135) ==138275== ==138275== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==138275== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138275== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138275== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138275== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138275== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138275== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138275== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138275== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138275== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138275== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138275== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138275== by 0x49B1142: setlocale (setlocale.c:337) ==138275== by 0x4001041: main (first.c:135) ==138275== ==138275== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==138275== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138275== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138275== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138275== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138275== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138275== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138275== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138275== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138275== by 0x49B1142: setlocale (setlocale.c:337) ==138275== by 0x4001041: main (first.c:135) ==138275== ==138275== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==138275== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138275== by 0x491A603: Curl_open (url.c:517) ==138275== by 0x48952AF: curl_easy_init (easy.c:377) ==138275== by 0x40012FB: test (lib525.c:86) ==138275== by 0x400107D: main (first.c:196) ==138275== ==138275== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==138275== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138275== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138275== by 0x4A93FA5: tsearch (tsearch.c:290) ==138275== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138275== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138275== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138275== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138275== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138275== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138275== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138275== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138275== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138275== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138275== by 0x49B1142: setlocale (setlocale.c:337) ==138275== by 0x4001041: main (first.c:135) ==138275== ==138275== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==138275== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138275== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138275== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138275== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138275== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138275== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138275== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138275== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138275== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138275== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138275== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138275== by 0x49B1142: setlocale (setlocale.c:337) ==138275== by 0x4001041: main (first.c:135) ==138275== === End of file valgrind588 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: RTSP server PID 137220 port 46237 * pid rtsp => 137220 137220 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/10/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:46237/577 > log/10/stdout577 2> log/10/stderr577 577: 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 577 === Start of file commands.log ../libtool --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/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:46237/577 > log/10/stdout577 2> log/10/stderr577 === End of file commands.log === Start of file rtsp_server.log 20:55:00.956588 Running IPv4 version on port 46237 20:55:00.956649 Wrote pid 13CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind591 ./libtest/lib591 ftp://127.0.0.1:36539/path/591 8 log/14/upload591 > log/14/stdout591 2> log/14/stderr591 7220 to log/10/server/rtsp_server.pid 20:55:00.956672 Wrote port 46237 to log/10/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 577 === End of file server.cmd === Start of file stderr577 URL: rtsp://127.0.0.1:46237/577 === End of file stderr577 === Start of file valgrind577 ==138406== ==138406== Process terminating with default action of signal 4 (SIGILL) ==138406== Illegal opcode at address 0x491A6B3 ==138406== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138406== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138406== by 0x491A6B3: Curl_open (url.c:538) ==138406== by 0x48952AF: curl_easy_init (easy.c:377) ==138406== by 0x4001087: UnknownInlinedFun (lib567.c:42) ==138406== by 0x4001087: main (first.c:196) ==138406== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138406== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138406== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138406== by 0x4A93FA5: tsearch (tsearch.c:290) ==138406== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138406== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138406== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138406== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138406== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138406== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138406== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138406== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138406== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138406== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138406== by 0x49B1142: setlocale (setlocale.c:337) ==138406== by 0x4001047: main (first.c:135) ==138406== ==138406== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138406== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138406== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138406== by 0x4A93FA5: tsearch (tsearch.c:290) ==138406== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138406== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138406== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138406== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138406== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138406== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138406== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138406== by 0x49B1142: setlocale (setlocale.c:337) ==138406== by 0x4001047: main (first.c:135) ==138406== ==138406== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138406== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138406== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138406== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138406== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138406== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138406== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138406== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138406== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138406== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138406== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138406== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138406== by 0x49B1142: setlocale (setlocale.c:337) ==138406== by 0x4001047: main (first.c:135) ==138406== ==138406== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138406== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138406== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138406== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138406== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138406== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138406== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138406== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138406== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138406== by 0x49B1142: setlocale (setlocale.c:337) ==138406== by 0x4001047: main (first.c:135) ==138406== ==138406== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138406== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138406== by 0x491A603: Curl_open (url.c:517) ==138406== by 0x48952AF: curl_easy_init (easy.c:377) ==138406== by 0x4001087: UnknownInlinedFun (lib567.c:42) ==138406== by 0x4001087: main (first.c:196) ==138406== ==138406== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138406== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138406== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138406== by 0x4A93FA5: tsearch (tsearch.c:290) ==138406== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138406== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138406== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138406== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138406== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138406== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138406== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138406== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138406== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138406== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138406== by 0x49B1142: setlocale (setlocale.c:337) ==138406== by 0x4001047: main (first.c:135) ==138406== ==138406== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138406== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138406== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138406== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138406== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138406== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138406== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138406== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138406== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138406== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138406== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138406== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138406== by 0x49B1142: setlocale (setlocale.c:337) ==138406== by 0x4001047: main (first.c:135) ==138406== === End of file valgrind577 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/14/valgrind591 ./libtest/lib591 ftp://127.0.0.1:36539/path/591 8 log/14/upload591 > log/14/stdout591 2> log/14/stderr591 591: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind591 ./libtest/lib591 ftp://127.0.0.1:36539/path/591 8 log/14/upload591 > log/14/stdout591 2> log/14/stderr591 === End of file commands.log === Start of file ftp_server.log 20:55:01.680668 ====> Client connect 20:55:01.680820 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.681066 < "USER anonymous" 20:55:01.681097 > "331 We are happy you popped in![CR][LF]" 20:55:01.681243 < "PASS ftp@example.com" 20:55:01.681265 > "230 Welcome you silly person[CR][LF]" 20:55:01.681392 < "PWD" 20:55:01.681418 > "257 "/" is current directory[CR][LF]" 20:55:01.682176 < "EPSV" 20:55:01.682215 ====> Passive DATA channel requested by client 20:55:01.682228 DATA sockfilt for passive data channel starting... 20:55:01.683921 DATA sockfilt for passive data channel started (pid 138384) 20:55:01.684020 DATA sockfilt for passive data channel listens on port 42577 20:55:01.684059 > "229 Entering Passive Mode (|||42577|)[LF]" 20:55:01.684075 Client has been notified that DATA conn will be accepted on port 42577 20:55:01.684299 Client connects to port 42577 20:55:01.684325 ====> Client established passive DATA connection on port 42577 20:55:01.684391 < "TYPE I" 20:55:01.684418 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.684573 < "SIZE verifiedserver" 20:55:01.684603 > "213 18[CR][LF]" 20:55:01.684730 < "RETR verifiedserver" 20:55:01.684757 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.684823 =====> Closing passive DATA connection... 20:55:01.684837 Server disconnects passive DATA connection 20:55:01.685000 Server disconnected passive DATA connection 20:55:01.685030 DATA sockfilt for passive data channel quits (pid 138384) 20:55:01.685266 DATA sockfilt for passive data channel quit (pid 138384) 20:55:01.685287 =====> Closed passive DATA connection 20:55:01.685309 > "226 File transfer complete[CR][LF]" 20:55:01.725601 < "QUIT" 20:55:01.725653 > "221 bye bye baby[CR][LF]" 20:55:01.726601 MAIN sockfilt said DISC 20:55:01.726632 ====> Client disconnected 20:55:01.726705 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.902069 ====> Client connect 20:55:01.902340 Received DATA (on stdin) 20:55:01.902354 > 160 bytes data, server => client 20:55:01.902366 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:01.902376 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:01.902385 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:01.902450 < 16 bytes data, client => server 20:55:01.902461 'USER anonymous\r\n' 20:55:01.902609 Received DATA (on stdin) 20:55:01.902621 > 33 bytes data, server => client 20:55:01.902632 '331 We are happy you popped in!\r\n' 20:55:01.902676 < 22 bytes data, client => server 20:55:01.902687 'PASS ftp@example.com\r\n' 20:55:01.902773 Received DATA (on stdin) 20:55:01.902784 > 30 bytes data, server => client 20:55:01.902794 '230 Welcome you silly person\r\n' 20:55:01.902833 < 5 bytes data, client => server 20:55:01.902843 'PWD\r\n' 20:55:01.902933 Received DATA (on stdin) 20:55:01.902944 > 30 bytes data, server => client 20:55:01.902954 '257 "/" is current directory\r\n' 20:55:01.903029 < 6 bytes data, client => server 20:55:01.903040 'EPSV\r\n' 20:55:01.905592 Received DATA (on stdin) 20:55:01.905609 > 38 bytes data, server => client 20:55:01.905620 '229 Entering Passive Mode (|||42577|)\n' 20:55:01.905744 < 8 bytes data, client => server 20:55:01.905755 'TYPE I\r\n' 20:55:01.905928 Received DATA (on stdin) 20:55:01.905939 > 33 bytes data, server => client 20:55:01.905948 '200 I modify TYPE as you wanted\r\n' 20:55:01.906011 < 21 bytes data, client => server 20:55:01.906023 'SIZE verifiedserver\r\n' 20:55:01.906111 Received DATA (on stdin) 20:55:01.906121 > 8 bytes data, server => client 20:55:01.906130 '213 18\r\n' 20:55:01.906170 < 21 bytes data, client => server 20:55:01.906181 'RETR verifiedserver\r\n' 20:55:01.906346 Received DATA (on stdin) 20:55:01.906356 > 29 bytes data, server => client 20:55:01.906366 '150 Binary junk (18 bytes).\r\n' 20:55:01.906819 Received DATA (on stdin) 20:55:01.906831 > 28 bytes data, server => client 20:55:01.906841 '226 File transfer complete\r\n' 20:55:01.946988 < 6 bytes data, client => server 20:55:01.947010 'QUIT\r\n' 20:55:01.947169 Received DATA (on stdin) 20:55:01.947182 > 18 bytes data, server => client 20:55:01.947193 '221 bye bye baby\r\n' 20:55:01.948060 ====> Client disconnect 20:55:01.948210 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.905267 Running IPv4 version 20:55:01.905326 Listening on port 42577 20:55:01.905363 Wrote pid 138384 to log/14/server/ftp_sockdata.pid 20:55:01.905380 Received PING (on stdin) 20:55:01.905452 Received PORT (on stdin) 20:55:01.905749 ====> Client connect 20:55:01.906277 Received DATA (on stdin) 20:55:01.906289 > 18 bytes data, server => client 20:55:01.906299 'WE ROOLZ: 110708\r\n' 20:55:01.906469 Received DISC (on stdin) 20:55:01.906480 ====> Client forcibly disconnected 20:55:01.906560 Received QUIT (on stdin) 20:55:01.906574 quits 20:55:01.906629 ============> 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:36539/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==138417== ==138417== Process terminating with default action of signal 4 (SIGILL) ==138417== Illegal opcode at address 0x491A6B3 ==138417== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138417== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138417== by 0x491A6B3: Curl_open (url.c:538) ==138417== by 0x48952AF: curl_easy_init (easy.c:377) ==138417== by 0x40012F0: test (lib591.c:64) ==138417== by 0x400108E: main (first.c:196) ==138417== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==138417== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138417== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138417== by 0x4A93FA5: tsearch (tsearch.c:290) ==138417== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138417== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138417== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138417== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138417== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138417== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138417== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138417== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138417== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138417== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138417== by 0x49B1142: setlocale (setlocale.c:337) ==138417== by 0x4001041: main (first.c:135) ==138417== ==138417== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==138417== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138417== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138417== by 0x4A93FA5: tsearch (tsearch.c:290) ==138417== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138417== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138417== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138417== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138417== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138417== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138417== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138417== by 0x49B1142: setlocale (setlocale.c:337) ==138417== by 0x4001041: main (first.c:135) ==138417== ==138417== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==138417== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138417== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138417== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138417== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138417== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138417== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138417== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138417== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138417== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138417== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138417== CMD (33792): ../libtool --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/valgrind592 ./libtest/lib591 ftp://127.0.0.1:39989/path/592 8 log/8/upload592 > log/8/stdout592 2> log/8/stderr592 by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138417== by 0x49B1142: setlocale (setlocale.c:337) ==138417== by 0x4001041: main (first.c:135) ==138417== ==138417== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==138417== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138417== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138417== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138417== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138417== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138417== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138417== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138417== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138417== by 0x49B1142: setlocale (setlocale.c:337) ==138417== by 0x4001041: main (first.c:135) ==138417== ==138417== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==138417== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138417== by 0x491A603: Curl_open (url.c:517) ==138417== by 0x48952AF: curl_easy_init (easy.c:377) ==138417== by 0x40012F0: test (lib591.c:64) ==138417== by 0x400108E: main (first.c:196) ==138417== ==138417== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==138417== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138417== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138417== by 0x4A93FA5: tsearch (tsearch.c:290) ==138417== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138417== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138417== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138417== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138417== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138417== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138417== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138417== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138417== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138417== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138417== by 0x49B1142: setlocale (setlocale.c:337) ==138417== by 0x4001041: main (first.c:135) ==138417== ==138417== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==138417== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138417== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138417== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138417== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138417== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138417== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138417== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138417== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138417== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138417== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138417== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138417== by 0x49B1142: setlocale (setlocale.c:337) ==138417== by 0x4001041: main (first.c:135) ==138417== === 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/8/valgrind592 ./libtest/lib591 ftp://127.0.0.1:39989/path/592 8 log/8/upload592 > log/8/stdout592 2> log/8/stderr592 592: 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 592 === Start of file commands.log ../libtool --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/valgrind592 ./libtest/lib591 ftp://127.0.0.1:39989/path/592 8 log/8/upload592 > log/8/stdout592 2> log/8/stderr592 === End of file commands.log === Start of file ftp_server.log 20:55:01.685526 ====> Client connect 20:55:01.685671 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.685929 < "USER anonymous" 20:55:01.685965 > "331 We are happy you popped in![CR][LF]" 20:55:01.686129 < "PASS ftp@example.com" 20:55:01.686156 > "230 Welcome you silly person[CR][LF]" 20:55:01.686305 < "PWD" 20:55:01.686335 > "257 "/" is current directory[CR][LF]" 20:55:01.686491 < "EPSV" 20:55:01.686516 ====> Passive DATA channel requested by client 20:55:01.686529 DATA sockfilt for passive data channel starting... 20:55:01.687911 DATA sockfilt for passive data channel started (pid 138385) 20:55:01.688005 DATA sockfilt for passive data channel listens on port 35717 20:55:01.688038 > "229 Entering Passive Mode (|||35717|)[LF]" 20:55:01.688053 Client has been notified that DATA conn will be accepted on port 35717 20:55:01.688199 Client connects to port 35717 20:55:01.688218 ====> Client established passive DATA connection on port 35717 20:55:01.688276 < "TYPE I" 20:55:01.688299 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.688417 < "SIZE verifiedserver" 20:55:01.688448 > "213 18[CR][LF]" 20:55:01.688557 < "RETR verifiedserver" 20:55:01.688585 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.688649 =====> Closing passive DATA connection... 20:55:01.688662 Server disconnects passive DATA connection 20:55:01.688733 Server disconnected passive DATA connection 20:55:01.688750 DATA sockfilt for passive data channel quits (pid 138385) 20:55:01.688932 DATA sockfilt for passive data channel quit (pid 138385) 20:55:01.688945 =====> Closed passive DATA connection 20:55:01.688966 > "226 File transfer complete[CR][LF]" 20:55:01.728987 < "QUIT" 20:55:01.729036 > "221 bye bye baby[CR][LF]" 20:55:01.729636 MAIN sockfilt said DISC 20:55:01.729672 ====> Client disconnected 20:55:01.729730 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.906941 ====> Client connect 20:55:01.907197 Received DATA (on stdin) 20:55:01.907212 > 160 bytes data, server => client 20:55:01.907224 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:01.907235 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:01.907244 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:01.907306 < 16 bytes data, client => server 20:55:01.907320 'USER anonymous\r\n' 20:55:01.907479 Received DATA (on stdin) 20:55:01.907492 > 33 bytes data, server => client 20:55:01.907502 '331 We are happy you popped in!\r\n' 20:55:01.907552 < 22 bytes data, client => server 20:55:01.907565 'PASS ftp@example.com\r\n' 20:55:01.907667 Received DATA (on stdin) 20:55:01.907679 > 30 bytes data, server => client 20:55:01.907689 '230 Welcome you silly person\r\n' 20:55:01.907735 < 5 bytes data, client => server 20:55:01.907746 'PWD\r\n' 20:55:01.907846 Received DATA (on stdin) 20:55:01.907857 > 30 bytes data, server => client 20:55:01.907868 '257 "/" is current directory\r\n' 20:55:01.907921 < 6 bytes data, client => server 20:55:01.907933 'EPSV\r\n' 20:55:01.909561 Received DATA (on stdin) 20:55:01.909579 > 38 bytes data, server => client 20:55:01.909590 '229 Entering Passive Mode (|||35717|)\n' 20:55:01.909683 < 8 bytes data, client => server 20:55:01.909696 'TYPE I\r\n' 20:55:01.909809 Received DATA (on stdin) 20:55:01.909821 > 33 bytes data, server => client 20:55:01.909830 '200 I modify TYPE as you wanted\r\n' 20:55:01.909873 < 21 bytes data, client => server 20:55:01.909885 'SIZE verifiedserver\r\n' 20:55:01.909957 Received DATA (on stdin) 20:55:01.909967 > 8 bytes data, server => client 20:55:01.909977 '213 18\r\n' 20:55:01.910015 < 21 bytes data, client => server 20:55:01.910060 'RETR verifiedserver\r\n' 20:55:01.910074 Received DATA (on stdin) 20:55:01.910084 > 29 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/2/valgrind593 ./libtest/lib591 ftp://127.0.0.1:41115/path/593 8 log/2/upload593 > log/2/stdout593 2> log/2/stderr593 server => client 20:55:01.910094 '150 Binary junk (18 bytes).\r\n' 20:55:01.910474 Received DATA (on stdin) 20:55:01.910486 > 28 bytes data, server => client 20:55:01.910495 '226 File transfer complete\r\n' 20:55:01.950346 < 6 bytes data, client => server 20:55:01.950367 'QUIT\r\n' 20:55:01.950549 Received DATA (on stdin) 20:55:01.950560 > 18 bytes data, server => client 20:55:01.950570 '221 bye bye baby\r\n' 20:55:01.950880 ====> Client disconnect 20:55:01.951242 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.909275 Running IPv4 version 20:55:01.909320 Listening on port 35717 20:55:01.909353 Wrote pid 138385 to log/8/server/ftp_sockdata.pid 20:55:01.909369 Received PING (on stdin) 20:55:01.909444 Received PORT (on stdin) 20:55:01.909669 ====> Client connect 20:55:01.910146 Received DATA (on stdin) 20:55:01.910159 > 18 bytes data, server => client 20:55:01.910169 'WE ROOLZ: 110704\r\n' 20:55:01.910201 Received DISC (on stdin) 20:55:01.910214 ====> Client forcibly disconnected 20:55:01.910281 Received QUIT (on stdin) 20:55:01.910293 quits 20:55:01.910336 ============> 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:39989/path/592 === End of file stderr592 === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 ==138431== ==138431== Process terminating with default action of signal 4 (SIGILL) ==138431== Illegal opcode at address 0x491A6B3 ==138431== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138431== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138431== by 0x491A6B3: Curl_open (url.c:538) ==138431== by 0x48952AF: curl_easy_init (easy.c:377) ==138431== by 0x40012F0: test (lib591.c:64) ==138431== by 0x400108E: main (first.c:196) ==138431== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==138431== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138431== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138431== by 0x4A93FA5: tsearch (tsearch.c:290) ==138431== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138431== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138431== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138431== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138431== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138431== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138431== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138431== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138431== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138431== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138431== by 0x49B1142: setlocale (setlocale.c:337) ==138431== by 0x4001041: main (first.c:135) ==138431== ==138431== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==138431== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138431== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138431== by 0x4A93FA5: tsearch (tsearch.c:290) ==138431== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138431== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138431== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138431== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138431== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138431== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138431== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138431== by 0x49B1142: setlocale (setlocale.c:337) ==138431== by 0x4001041: main (first.c:135) ==138431== ==138431== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==138431== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138431== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138431== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138431== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138431== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138431== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138431== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138431== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138431== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138431== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138431== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138431== by 0x49B1142: setlocale (setlocale.c:337) ==138431== by 0x4001041: main (first.c:135) ==138431== ==138431== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==138431== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138431== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138431== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138431== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138431== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138431== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138431== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138431== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138431== by 0x49B1142: setlocale (setlocale.c:337) ==138431== by 0x4001041: main (first.c:135) ==138431== ==138431== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==138431== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138431== by 0x491A603: Curl_open (url.c:517) ==138431== by 0x48952AF: curl_easy_init (easy.c:377) ==138431== by 0x40012F0: test (lib591.c:64) ==138431== by 0x400108E: main (first.c:196) ==138431== ==138431== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==138431== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138431== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138431== by 0x4A93FA5: tsearch (tsearch.c:290) ==138431== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138431== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138431== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138431== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138431== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138431== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138431== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138431== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138431== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138431== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138431== by 0x49B1142: setlocale (setlocale.c:337) ==138431== by 0x4001041: main (first.c:135) ==138431== ==138431== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==138431== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138431== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138431== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138431== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138431== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138431== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138431== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138431== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138431== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138431== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138431== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138431== by 0x49B1142: setlocale (setlocale.c:337) ==138431== by 0x4001041: main (first.c:135) ==138431== === End of file valgrind592 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/2/valgrind593 ./libtest/lib591 ftp://127.0.0.1:41115/path/593 8 log/2/upload593 > log/2/stdout593 2> log/2/stderr593 593: 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 593 === Start of file commands.log ../libtool --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/valgrind593 ./libtest/lib591 ftp://127.0.0.1:41115/path/593 8 log/2/upload593 > log/2/stdout593 2> log/2/stderr593 === End of file commands.log === Start of file ftp_server.log 20:55:01.718353 ====> Client connect 20:55:01.718521 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.718782 < "USER anonymous" 20:55:01.718817 > "331 We are happy you popped in![CR][LF]" 20:55:01.718976 < "PASS ftp@example.com" 20:55:01.718998 > "230 Welcome you silly person[CR][LF]" 20:55:01.719134 < "PWD" 20:55:01.719159 > "257 "/" is current directory[CR][LF]" 20:55:01.719301 < "EPSV" 20:55:01.719322 ====> Passive DATA channel requested by client 20:55:01.719334 DATA sockfilt for passive data channel starting... 20:55:01.720793 DATA sockfilt for passive data channel started (pid 138402) 20:55:01.720892 DATA sockfilt for passive data channel listens on port 38679 20:55:01.720928 > "229 Entering Passive Mode (|||38679|)[LF]" 20:55:01.720945 Client has been notified that DATA conn will be accepted on port 38679 20:55:01.721176 Client connects to port 38679 20:55:01.721203 ====> Client established passive DATA connection on port 38679 20:55:01.721264 < "TYPE I" 20:55:01.721288 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.721430 < "SIZE verifiedserver" 20:55:01.721461 > "213 18[CR][LF]" 20:55:01.721595 < "RETR verifiedserver" 20:55:01.721627 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.721693 =====> Closing passive DATA connection... 20:55:01.721708 Server disconnects passive DATA connection 20:55:01.721820 Server disconnected passive DATA connection 20:55:01.721839 DATA sockfilt for passive data channel quits (pid 138402) 20:55:01.722223 DATA sockfilt for passive data channel quit (pid 138402) 20:55:01.722250 =====> Closed passive DATA connection 20:55:01.722277 > "226 File transfer complete[CR][LF]" 20:55:01.765709 < "QUIT" 20:55:01.765761 > "221 bye bye baby[CR][LF]" 20:55:01.766024 MAIN sockfilt said DISC 20:55:01.766047 ====> Client disconnected 20:55:01.766110 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:00.939756 ====> Client connect 20:55:00.940043 Received DATA (on stdin) 20:55:00.940058 > 160 bytes data, server => client 20:55:00.940070 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:00.940080 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:00.940090 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:00.940163 < 16 bytes data, client => server 20:55:00.940181 'USER anonymous\r\n' 20:55:00.940332 Received DATA (on stdin) 20:55:00.940344 > 33 bytes data, server => client 20:55:00.940354 '331 We are happy you popped in!\r\n' 20:55:00.940405 < 22 bytes data, client => server 20:55:00.940416 'PASS ftp@example.com\r\n' 20:55:00.940507 Received DATA (on stdin) 20:55:00.940518 > 30 bytes data, server => client 20:55:00.940528 '230 Welcome you silly person\r\n' 20:55:00.940571 < 5 bytes data, client => server 20:55:00.940582 'PWD\r\n' 20:55:00.940668 Received DATA (on stdin) 20:55:00.940678 > 30 bytes data, server => client 20:55:00.940689 '257 "/" is current directory\r\n' 20:55:00.940739 < 6 bytes data, client => server 20:55:00.940750 'EPSV\r\n' 20:55:00.942461 Received DATA (on stdin) 20:55:00.942473 > 38 bytes data, server => client 20:55:00.942484 '229 Entering Passive Mode (|||38679|)\n' 20:55:00.942628 < 8 bytes data, client => server 20:55:00.942641 'TYPE I\r\n' 20:55:00.942798 Received DATA (on stdin) 20:55:00.942809 > 33 bytes data, server => client 20:55:00.942820 '200 I modify TYPE as you wanted\r\n' 20:55:00.942865 < 21 bytes data, client => server 20:55:00.942876 'SIZE verifiedserver\r\n' 20:55:00.942971 Received DATA (on stdin) 20:55:00.942982 > 8 bytes data, server => client 20:55:00.942992 '213 18\r\n' 20:55:00.943034 < 21 bytes data, client => server 20:55:00.943045 'RETR verifiedserver\r\n' 20:55:00.943141 Received DATA (on stdin) 20:55:00.943172 > 29 bytes data, server => client 20:55:00.943183 '150 Binary junk (18 bytes).\r\n' 20:55:00.943791 Received DATA (on stdin) 20:55:00.943806 > 28 bytes data, server => client 20:55:00.943817 '226 File transfer complete\r\n' 20:55:00.987057 < 6 bytes data, client => server 20:55:00.987080 'QUIT\r\n' 20:55:00.987263 Received DATA (on stdin) 20:55:00.987287 > 18 bytes data, server => client 20:55:00.987298 '221 bye bye baby\r\n' 20:55:00.987487 ====> Client disconnect 20:55:00.987619 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.942150 Running IPv4 version 20:55:01.942198 Listening on port 38679 20:55:01.942232 Wrote pid 138402 to log/2/server/ftp_sockdata.pid 20:55:01.942249 Received PING (on stdin) 20:55:01.942327 Received PORT (on stdin) 20:55:01.942589 ====> Client connect 20:55:01.943219 Received DATA (on stdin) 20:55:01.943232 > 18 bytes data, server => client 20:55:01.943242 'WE ROOLZ: 110829\r\n' 20:55:01.943270 Received DISC (on stdin) 20:55:01.943281 ====> Client forcibly disconnected 20:55:01.943353 Received QUIT (on stdin) 20:55:01.943363 quits 20:55:01.943419 ============> 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:41115/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==138598== ==138598== Process terminating with default action of signal 4 (SIGILL) ==138598== Illegal opcode at address 0x491A6B3 ==138598== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138598== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138598== by 0x491A6B3: Curl_open (url.c:538) ==138598== by 0x48952AF: curl_easy_init (easy.c:377) ==138598== by 0x40012F0: test (lib591.c:64) ==138598== by 0x400108E: main (first.c:196) ==138598== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==138598== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138598== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138598== by 0x4A93FA5: tsearch (tsearch.c:290) ==138598== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138598== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138598== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138598== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138598== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138598== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138598== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138598== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138598== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138598== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138598== by 0x49B1142: setlocale (setlocale.c:337) ==138598== by 0x4001041: main (first.c:135) ==138598== ==138598== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==138598== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138598== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138598== by 0x4A93FA5: tsearch (tsearch.c:290) ==138598== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138598== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138598== by 0x49A674CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind597 ./libtest/lib597 ftp://127.0.0.1:38423 > log/22/stdout597 2> log/22/stderr597 A: __gconv_read_conf (gconv_conf.c:508) ==138598== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138598== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138598== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138598== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138598== by 0x49B1142: setlocale (setlocale.c:337) ==138598== by 0x4001041: main (first.c:135) ==138598== ==138598== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==138598== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138598== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138598== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138598== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138598== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138598== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138598== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138598== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138598== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138598== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138598== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138598== by 0x49B1142: setlocale (setlocale.c:337) ==138598== by 0x4001041: main (first.c:135) ==138598== ==138598== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==138598== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138598== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138598== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138598== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138598== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138598== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138598== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138598== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138598== by 0x49B1142: setlocale (setlocale.c:337) ==138598== by 0x4001041: main (first.c:135) ==138598== ==138598== 5,456 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==138598== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138598== by 0x491A603: Curl_open (url.c:517) ==138598== by 0x48952AF: curl_easy_init (easy.c:377) ==138598== by 0x40012F0: test (lib591.c:64) ==138598== by 0x400108E: main (first.c:196) ==138598== ==138598== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==138598== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138598== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138598== by 0x4A93FA5: tsearch (tsearch.c:290) ==138598== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138598== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138598== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138598== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138598== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138598== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138598== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138598== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138598== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138598== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138598== by 0x49B1142: setlocale (setlocale.c:337) ==138598== by 0x4001041: main (first.c:135) ==138598== ==138598== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==138598== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138598== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138598== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138598== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138598== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138598== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138598== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138598== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138598== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138598== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138598== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138598== by 0x49B1142: setlocale (setlocale.c:337) ==138598== by 0x4001041: main (first.c:135) ==138598== === End of file valgrind593 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/22/valgrind597 ./libtest/lib597 ftp://127.0.0.1:38423 > log/22/stdout597 2> log/22/stderr597 597: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 597 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind597 ./libtest/lib597 ftp://127.0.0.1:38423 > log/22/stdout597 2> log/22/stderr597 === End of file commands.log === Start of file ftp_server.log 20:55:01.778323 ====> Client connect 20:55:01.778484 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.778798 < "USER anonymous" 20:55:01.778845 > "331 We are happy you popped in![CR][LF]" 20:55:01.779035 < "PASS ftp@example.com" 20:55:01.779072 > "230 Welcome you silly person[CR][LF]" 20:55:01.779247 < "PWD" 20:55:01.779287 > "257 "/" is current directory[CR][LF]" 20:55:01.779451 < "EPSV" 20:55:01.779477 ====> Passive DATA channel requested by client 20:55:01.779490 DATA sockfilt for passive data channel starting... 20:55:01.781273 DATA sockfilt for passive data channel started (pid 138597) 20:55:01.781372 DATA sockfilt for passive data channel listens on port 35409 20:55:01.781409 > "229 Entering Passive Mode (|||35409|)[LF]" 20:55:01.781427 Client has been notified that DATA conn will be accepted on port 35409 20:55:01.781609 Client connects to port 35409 20:55:01.781637 ====> Client established passive DATA connection on port 35409 20:55:01.781739 < "TYPE I" 20:55:01.781765 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.781904 < "SIZE verifiedserver" 20:55:01.781937 > "213 18[CR][LF]" 20:55:01.782074 < "RETR verifiedserver" 20:55:01.782106 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.782178 =====> Closing passive DATA connection... 20:55:01.782194 Server disconnects passive DATA connection 20:55:01.782344 Server disconnected passive DATA connection 20:55:01.782365 DATA sockfilt for passive data channel quits (pid 138597) 20:55:01.782551 DATA sockfilt for passive data channel quit (pid 138597) 20:55:01.782573 =====> Closed passive DATA connection 20:55:01.782597 > "226 File transfer complete[CR][LF]" 20:55:01.829358 < "QUIT" 20:55:01.829420 > "221 bye bye baby[CR][LF]" 20:55:01.830589 MAIN sockfilt said DISC 20:55:01.830619 ====> Client disconnected 20:55:01.830721 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.999727 ====> Client connect 20:55:02.000013 Received DATA (on stdin) 20:55:02.000030 > 160 bytes data, server => client 20:55:02.000042 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:02.000053 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:02.000063 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:02.000135 < 16 bytes data, client => server 20:55:02.000150 'USER anonymous\r\n' 20:55:02.000364 Received DATA (on stdin) 20:55:02.000378 > 33 bytes data, server => client 20:55:02.000388 '331 We are happy you popped in!\r\n' 20:55:02.000441 < 22 bytes data, client => server 20:55:02.000452 'PASS ftp@example.com\r\n' 20:55:02.000587 Received DATA (on stdin) 20:55:02.000599 > 30 bytes data, server => client 20:55:02.000610 '230 Welcome you silly person\r\n' 20:55:02.000658 < 5 bytes data, client => server 20:55:02.000672 'PWD\r\n' 20:55:02.000799 Received DATA (on stdin) 20:55:02.000811 > 30 bytes data, server => client 20:55:02.000822 '257 "/" is current directory\r\n' 20:55:02.000879 < 6 bytes data, client => server 20:55:02.000891 'EPSV\r\n' 20:55:02.002941 Received DATA (on stdin) 20:55:02.002954 > 38 bytes data, server => client 20:55:02.002966 '229 Entering Passive Mode (|||35409|)\n' 20:55:02.003160 < 8 bytes data, client => server 20:55:02.003173 'TYPE I\r\n' 20:55:02.003275 Received DATA (on stdin) 20:55:02.003286 > 33 bytes data, server => client 20:55:02.003297 '200 I modify TYPE as you wanted\r\n' 20:55:02.003340 < 21 bytes data, client => server 20:55:02.003351 'SIZE verifiedserver\r\n' 20:55:02.003446 Received DATA (on stdin) 20:55:02.003456 > 8 bytes data, server => client 20:55:02.003466 '213 18\r\n' 20:55:02.003507 < 21 bytes data, client => server 20:55:02.003522 'RETR verifiedserver\r\n' 20:55:02.003705 Received DATA (on stdin) 20:55:02.003716 > 29 bytes data, server => client 20:55:02.003727 '150 Binary junk (18 bytes).\r\n' 20:55:02.004107 Received DATA (on stdin) 20:55:02.004120 > 28 bytes data, server => client 20:55:02.004130 '226 File transfer complete\r\n' 20:55:02.050693 < 6 bytes data, client => server 20:55:02.050717 'QUIT\r\n' 20:55:02.050936 Received DATA (on stdin) 20:55:02.050947 > 18 bytes data, server => client 20:55:02.050957 '221 bye bye baby\r\n' 20:55:02.052051 ====> Client disconnect 20:55:02.052234 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.002530 Running IPv4 version 20:55:01.002577 Listening on port 35409 20:55:01.002612 Wrote pid 138597 to log/22/server/ftp_sockdata.pid 20:55:01.002732 Received PING (on stdin) 20:55:01.002806 Received PORT (on stdin) 20:55:01.003073 ====> Client connect 20:55:01.003753 Received DATA (on stdin) 20:55:01.003765 > 18 bytes data, server => client 20:55:01.003775 'WE ROOLZ: 110696\r\n' 20:55:01.003797 Received DISC (on stdin) 20:55:01.003808 ====> Client forcibly disconnected 20:55:01.003881 Received QUIT (on stdin) 20:55:01.003891 quits 20:55:01.003941 ============> 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:38423 === End of file stderr597 === Start of file valgrind597 ==138685== ==138685== Process terminating with default action of signal 4 (SIGILL) ==138685== Illegal opcode at address 0x491A6B3 ==138685== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138685== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138685== by 0x491A6B3: Curl_open (url.c:538) ==138685== by 0x48952AF: curl_easy_init (easy.c:377) ==138685== by 0x40012F1: test.part.0 (lib597.c:56) ==138685== by 0x4001094: UnknownInlinedFun (lib597.c:54) ==138685== by 0x4001094: main (first.c:196) ==138685== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138685== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138685== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138685== by 0x4A93FA5: tsearch (tsearch.c:290) ==138685== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138685== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138685== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138685== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138685== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138685== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138685== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138685== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138685== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138685== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138685== by 0x49B1142: setlocale (setlocale.c:337) ==138685== by 0x4001041: main (first.c:135) ==138685== ==138685== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138685== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138685== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138685== by 0x4A93FA5: tsearch (tsearch.c:290) ==138685== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138685== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138685== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138685== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138685== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138685== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138685== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138685== by 0x49B1142: setlocale (setlocale.c:337) ==138685== by 0x4001041: main (first.c:135) ==138685== ==138685== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138685== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138685== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138685== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138685== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138685== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138685== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138685== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138685== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138685== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138685== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138685== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138685== by 0x49B1142: setlocale (setlocale.c:337) ==138685== by 0x4001041: main (first.c:135) ==138685== ==138685== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138685== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138685== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138685== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138685== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138685== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138685== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138685== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138685== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138685== by 0x49B1142: setlocale (setlocale.c:337) ==138685== by 0x4001041: main (first.c:135) ==138685== ==138685== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138685== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138685== by 0x491A603: Curl_open (url.c:517) ==138685== by 0x48952AF: curl_easy_init (easy.c:377) ==138685== by 0x40012F1: test.part.0 (lib597.c:56) ==138685== by 0x4001094: UnknownInlinedFun (lib597.c:54) ==138685== by 0x4001094: main (first.c:196) ==138685== ==138685== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138685== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138685== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138685== by 0x4A93FA5: tsearch (tsearch.c:290) ==138685== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138685== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138685== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138685== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138685== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138685== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138685== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138685== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138685== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138685== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138685== by 0x49B1142: setlocale (setlocale.c:337) ==138685== by 0x4001041: main (first.c:135) ==138685== ==138685== 18,800 bytes in 486 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/21/valgrind595 ./libtest/lib585 ftp://127.0.0.1:44075/595 log/21/ip595 > log/21/stdout595 2> log/21/stderr595 locks are possibly lost in loss record 653 of 655 ==138685== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138685== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138685== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138685== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138685== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138685== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138685== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138685== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138685== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138685== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138685== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138685== by 0x49B1142: setlocale (setlocale.c:337) ==138685== by 0x4001041: main (first.c:135) ==138685== === End of file valgrind597 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/21/valgrind595 ./libtest/lib585 ftp://127.0.0.1:44075/595 log/21/ip595 > log/21/stdout595 2> log/21/stderr595 595: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 595 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind595 ./libtest/lib585 ftp://127.0.0.1:44075/595 log/21/ip595 > log/21/stdout595 2> log/21/stderr595 === End of file commands.log === Start of file ftp_server.log 20:55:01.756223 ====> Client connect 20:55:01.756417 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.756693 < "USER anonymous" 20:55:01.756733 > "331 We are happy you popped in![CR][LF]" 20:55:01.756966 < "PASS ftp@example.com" 20:55:01.757003 > "230 Welcome you silly person[CR][LF]" 20:55:01.757201 < "PWD" 20:55:01.757238 > "257 "/" is current directory[CR][LF]" 20:55:01.757440 < "EPSV" 20:55:01.757465 ====> Passive DATA channel requested by client 20:55:01.757478 DATA sockfilt for passive data channel starting... 20:55:01.759203 DATA sockfilt for passive data channel started (pid 138507) 20:55:01.759307 DATA sockfilt for passive data channel listens on port 46621 20:55:01.759346 > "229 Entering Passive Mode (|||46621|)[LF]" 20:55:01.759363 Client has been notified that DATA conn will be accepted on port 46621 20:55:01.759599 Client connects to port 46621 20:55:01.759624 ====> Client established passive DATA connection on port 46621 20:55:01.759690 < "TYPE I" 20:55:01.759718 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.759856 < "SIZE verifiedserver" 20:55:01.759886 > "213 18[CR][LF]" 20:55:01.760011 < "RETR verifiedserver" 20:55:01.760040 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.760104 =====> Closing passive DATA connection... 20:55:01.760117 Server disconnects passive DATA connection 20:55:01.760357 Server disconnected passive DATA connection 20:55:01.760392 DATA sockfilt for passive data channel quits (pid 138507) 20:55:01.760677 DATA sockfilt for passive data channel quit (pid 138507) 20:55:01.760699 =====> Closed passive DATA connection 20:55:01.760727 > "226 File transfer complete[CR][LF]" 20:55:01.806119 < "QUIT" 20:55:01.806176 > "221 bye bye baby[CR][LF]" 20:55:01.806288 MAIN sockfilt said DISC 20:55:01.806311 ====> Client disconnected 20:55:01.806393 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.977620 ====> Client connect 20:55:01.977940 Received DATA (on stdin) 20:55:01.977957 > 160 bytes data, server => client 20:55:01.977969 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:01.977979 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:01.977989 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:01.978060 < 16 bytes data, client => server 20:55:01.978072 'USER anonymous\r\n' 20:55:01.978240 Received DATA (on stdin) 20:55:01.978264 > 33 bytes data, server => client 20:55:01.978275 '331 We are happy you popped in!\r\n' 20:55:01.978364 < 22 bytes data, client => server 20:55:01.978375 'PASS ftp@example.com\r\n' 20:55:01.978505 Received DATA (on stdin) 20:55:01.978529 > 30 bytes data, server => client 20:55:01.978541 '230 Welcome you silly person\r\n' 20:55:01.978603 < 5 bytes data, client => server 20:55:01.978618 'PWD\r\n' 20:55:01.978757 Received DATA (on stdin) 20:55:01.978774 > 30 bytes data, server => client 20:55:01.978786 '257 "/" is current directory\r\n' 20:55:01.978861 < 6 bytes data, client => server 20:55:01.978875 'EPSV\r\n' 20:55:01.980881 Received DATA (on stdin) 20:55:01.980896 > 38 bytes data, server => client 20:55:01.980906 '229 Entering Passive Mode (|||46621|)\n' 20:55:01.981059 < 8 bytes data, client => server 20:55:01.981070 'TYPE I\r\n' 20:55:01.981227 Received DATA (on stdin) 20:55:01.981237 > 33 bytes data, server => client 20:55:01.981246 '200 I modify TYPE as you wanted\r\n' 20:55:01.981290 < 21 bytes data, client => server 20:55:01.981301 'SIZE verifiedserver\r\n' 20:55:01.981394 Received DATA (on stdin) 20:55:01.981404 > 8 bytes data, server => client 20:55:01.981413 '213 18\r\n' 20:55:01.981451 < 21 bytes data, client => server 20:55:01.981462 'RETR verifiedserver\r\n' 20:55:01.981627 Received DATA (on stdin) 20:55:01.981637 > 29 bytes data, server => client 20:55:01.981647 '150 Binary junk (18 bytes).\r\n' 20:55:01.982242 Received DATA (on stdin) 20:55:01.982258 > 28 bytes data, server => client 20:55:01.982267 '226 File transfer complete\r\n' 20:55:02.027431 < 6 bytes data, client => server 20:55:02.027467 'QUIT\r\n' 20:55:02.027692 Received DATA (on stdin) 20:55:02.027703 > 18 bytes data, server => client 20:55:02.027713 '221 bye bye baby\r\n' 20:55:02.027758 ====> Client disconnect 20:55:02.027903 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.980546 Running IPv4 version 20:55:01.980606 Listening on port 46621 20:55:01.980643 Wrote pid 138507 to log/21/server/ftp_sockdata.pid 20:55:01.980658 Received PING (on stdin) 20:55:01.980741 Received PORT (on stdin) 20:55:01.981034 ====> Client connect 20:55:01.981668 Received DATA (on stdin) 20:55:01.981679 > 18 bytes data, server => client 20:55:01.981689 'WE ROOLZ: 110702\r\n' 20:55:01.981708 Received DISC (on stdin) 20:55:01.981718 ====> Client forcibly disconnected 20:55:01.981927 Received QUIT (on stdin) 20:55:01.981949 quits 20:55:01.982011 ============> 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:44075/595 === End of file stderr595 === Start of file valgrind595 ==138651== ==138651== Process terminating with default action of signal 4 (SIGILL) ==138651== Illegal opcode at address 0x491A6B3 ==138651== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138651== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138651== by 0x491A6B3: Curl_open (url.c:538) ==138651== by 0x48952AF: curl_easy_init (easy.c:377) ==138651== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==138651== by 0x40010BE: main (first.c:196) ==138651== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138651== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138651== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138651== by 0x4A93FA5: tsearch (tsearch.c:290) ==138651== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138651== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138651== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138651== by 0x49A63F0: read_conf_file.isracannot find sshd 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/23/valgrind596 ./libtest/lib585 ftp://127.0.0.1:40137/596 log/23/ip596 activeftp > log/23/stdout596 2> log/23/stderr596 .0 (gconv_parseconfdir.h:101) ==138651== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138651== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138651== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138651== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138651== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138651== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138651== by 0x49B1142: setlocale (setlocale.c:337) ==138651== by 0x4001054: main (first.c:135) ==138651== ==138651== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138651== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138651== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138651== by 0x4A93FA5: tsearch (tsearch.c:290) ==138651== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138651== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138651== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138651== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138651== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138651== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138651== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138651== by 0x49B1142: setlocale (setlocale.c:337) ==138651== by 0x4001054: main (first.c:135) ==138651== ==138651== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138651== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138651== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138651== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138651== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138651== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138651== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138651== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138651== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138651== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138651== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138651== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138651== by 0x49B1142: setlocale (setlocale.c:337) ==138651== by 0x4001054: main (first.c:135) ==138651== ==138651== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138651== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138651== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138651== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138651== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138651== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138651== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138651== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138651== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138651== by 0x49B1142: setlocale (setlocale.c:337) ==138651== by 0x4001054: main (first.c:135) ==138651== ==138651== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138651== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138651== by 0x491A603: Curl_open (url.c:517) ==138651== by 0x48952AF: curl_easy_init (easy.c:377) ==138651== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==138651== by 0x40010BE: main (first.c:196) ==138651== ==138651== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138651== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138651== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138651== by 0x4A93FA5: tsearch (tsearch.c:290) ==138651== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138651== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138651== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138651== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138651== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138651== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138651== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138651== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138651== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138651== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138651== by 0x49B1142: setlocale (setlocale.c:337) ==138651== by 0x4001054: main (first.c:135) ==138651== ==138651== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138651== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138651== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138651== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138651== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138651== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138651== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138651== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138651== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138651== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138651== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138651== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138651== by 0x49B1142: setlocale (setlocale.c:337) ==138651== by 0x4001054: main (first.c:135) ==138651== === 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/23/valgrind596 ./libtest/lib585 ftp://127.0.0.1:40137/596 log/23/ip596 activeftp > log/23/stdout596 2> log/23/stderr596 596: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 596 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind596 ./libtest/lib585 ftp://127.0.0.1:40137/596 log/23/ip596 activeftp > log/23/stdout596 2> log/23/stderr596 === End of file commands.log === Start of file ftp_server.log 20:55:01.768537 ====> Client connect 20:55:01.768674 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:01.768935 < "USER anonymous" 20:55:01.768967 > "331 We are happy you popped in![CR][LF]" 20:55:01.769114 < "PASS ftp@example.com" 20:55:01.769139 > "230 Welcome you silly person[CR][LF]" 20:55:01.769268 < "PWD" 20:55:01.769293 > "257 "/" is current directory[CR][LF]" 20:55:01.769432 < "EPSV" 20:55:01.769455 ====> Passive DATA channel requested by client 20:55:01.769467 DATA sockfilt for passive data channel starting... 20:55:01.770992 DATA sockfilt for passive data channel started (pid 138565) 20:55:01.771089 DATA sockfilt for passive data channel listens on port 34743 20:55:01.771122 > "229 Entering Passive Mode (|||34743|)[LF]" 20:55:01.771139 Client has been notified that DATA conn will be accepted on port 34743 20:55:01.771384 Client connects to port 34743 20:55:01.771412 ====> Client established passive DATA connection on port 34743 20:55:01.771468 < "TYPE I" 20:55:01.771492 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:01.771738 < "SIZE verifiedserver" 20:55:01.771791 > "213 18[CR][LF]" 20:55:01.771947 < "RETR verifiedserver" 20:55:01.771988 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:01.772066 =====> Closing passive DATA connection... 20:55:01.772082 Server disconnects passive DATA connection 20:55:01.772209 Server disconnected passive DATA connection 20:55:01.772231 DATA sockfilt for passive data channel quits (pid 138565) 20:55:01.772459 DATA sockfilt for passive data channel quit (pid 138565) 20:55:01.772482 =====> Closed passive DATA connection 20:55:01.772505 > "226 File transfer complete[CR][LF]" 20:55:01.821320 < "QUIT" 20:55:01.821369 > "221 bye bye baby[CR][LF]" 20:55:01.821499 MAIN sockfilt said DISC 20:55:01.821524 ====> Client disconnected 20:55:01.821587 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:01.989938 ====> Client connect 20:55:01.990202 Received DATA (on stdin) 20:55:01.990216 > 160 bytes data, server => client 20:55:01.990228 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:01.990238 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:01.990248 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:01.990323 < 16 bytes data, client => server 20:55:01.990335 'USER anonymous\r\n' 20:55:01.990479 Received DATA (on stdin) 20:55:01.990490 > 33 bytes data, server => client 20:55:01.990500 '331 We are happy you popped in!\r\n' 20:55:01.990545 < 22 bytes data, client => server 20:55:01.990555 'PASS ftp@example.com\r\n' 20:55:01.990647 Received DATA (on stdin) 20:55:01.990658 > 30 bytes data, server => client 20:55:01.990668 '230 Welcome you silly person\r\n' 20:55:01.990709 < 5 bytes data, client => server 20:55:01.990719 'PWD\r\n' 20:55:01.990802 Received DATA (on stdin) 20:55:01.990812 > 30 bytes data, server => client 20:55:01.990822 '257 "/" is current directory\r\n' 20:55:01.990871 < 6 bytes data, client => server 20:55:01.990881 'EPSV\r\n' 20:55:01.992652 Received DATA (on stdin) 20:55:01.992664 > 38 bytes data, server => client 20:55:01.992675 '229 Entering Passive Mode (|||34743|)\n' 20:55:01.992837 < 8 bytes data, client => server 20:55:01.992849 'TYPE I\r\n' 20:55:01.993001 Received DATA (on stdin) 20:55:01.993014 > 33 bytes data, server => client 20:55:01.993024 '200 I modify TYPE as you wanted\r\n' 20:55:01.993105 < 21 bytes data, client => server 20:55:01.993129 'SIZE verifiedserver\r\n' 20:55:01.993305 Received DATA (on stdin) 20:55:01.993316 > 8 bytes data, server => client 20:55:01.993326 '213 18\r\n' 20:55:01.993369 < 21 bytes data, client => server 20:55:01.993380 'RETR verifiedserver\r\n' 20:55:01.993592 Received DATA (on stdin) 20:55:01.993613 > 29 bytes data, server => client 20:55:01.993625 '150 Binary junk (18 bytes).\r\n' 20:55:01.994018 Received DATA (on stdin) 20:55:01.994033 > 28 bytes data, server => client 20:55:01.994044 '226 File transfer complete\r\n' 20:55:02.042664 < 6 bytes data, client => server 20:55:02.042688 'QUIT\r\n' 20:55:02.042884 Received DATA (on stdin) 20:55:02.042895 > 18 bytes data, server => client 20:55:02.042906 '221 bye bye baby\r\n' 20:55:02.042970 ====> Client disconnect 20:55:02.043096 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:01.992337 Running IPv4 version 20:55:01.992396 Listening on port 34743 20:55:01.992431 Wrote pid 138565 to log/23/server/ftp_sockdata.pid 20:55:01.992447 Received PING (on stdin) 20:55:01.992526 Received PORT (on stdin) 20:55:01.992840 ====> Client connect 20:55:01.993510 Received DATA (on stdin) 20:55:01.993625 > 18 bytes data, server => client 20:55:01.993637 'WE ROOLZ: 110718\r\n' 20:55:01.993661 Received DISC (on stdin) 20:55:01.993673 ====> Client forcibly disconnected 20:55:01.993746 Received QUIT (on stdin) 20:55:01.993756 quits 20:55:01.993804 ============> 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:40137/596 === End of file stderr596 === Start of file valgrind596 ==138675== ==138675== Process terminating with default action of signal 4 (SIGILL) ==138675== Illegal opcode at address 0x491A6B3 ==138675== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138675== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138675== by 0x491A6B3: Curl_open (url.c:538) ==138675== by 0x48952AF: curl_easy_init (easy.c:377) ==138675== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==138675== by 0x40010BE: main (first.c:196) ==138675== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138675== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138675== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138675== by 0x4A93FA5: tsearch (tsearch.c:290) ==138675== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138675== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138675== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138675== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138675== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138675== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138675== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138675== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138675== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138675== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138675== by 0x49B1142: setlocale (setlocale.c:337) ==138675== by 0x4001054: main (first.c:135) ==138675== ==138675== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138675== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138675== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138675== by 0x4A93FA5: tsearch (tsearch.c:290) ==138675== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138675== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138675== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138675== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138675== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138675== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138675== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138675== by 0x49B1142: setlocale (setlocale.c:337) ==138675== by 0x4001054: main (first.c:135) ==138675== ==138675== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138675== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138675== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138675== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138675== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138675== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138675== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138675== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138675== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138675== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138675== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138675== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138675== by 0x49B1142: setlocale (setlocale.c:337) ==138675== by 0x4001054: main (first.c:135) ==138675== ==138675== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138675== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138675== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138675== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138675== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138675== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138675== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138675== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138675== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138675== by 0x49B1142: setlocale (setlocale.c:337) ==138675== by 0x4001054: main (first.c:135) ==138675== ==138675== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138675== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138675== by 0x491A603: Curl_open (url.c:517) ==138675== by 0x48952AF: curl_easy_init (easy.c:377) ==138675== by 0x40010BE: UnknownInlinedFun (lib500.c:73) ==138675== by 0x40010BE: main (first.c:196) ==138675== ==138675== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138675== at 0x484A7A8: malloc (vg_replace_malloc.c:4cannot find sshd cannot find sshd cannot find sshd cannot find sshd 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/1/valgrind598 ./libtest/lib598 http://127.0.0.1:42503/598 > log/1/stdout598 2> log/1/stderr598 46) ==138675== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138675== by 0x4A93FA5: tsearch (tsearch.c:290) ==138675== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138675== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138675== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138675== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138675== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138675== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138675== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138675== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138675== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138675== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138675== by 0x49B1142: setlocale (setlocale.c:337) ==138675== by 0x4001054: main (first.c:135) ==138675== ==138675== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138675== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138675== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138675== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138675== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138675== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138675== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138675== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138675== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138675== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138675== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138675== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138675== by 0x49B1142: setlocale (setlocale.c:337) ==138675== by 0x4001054: main (first.c:135) ==138675== === End of file valgrind596 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/1/valgrind598 ./libtest/lib598 http://127.0.0.1:42503/598 > log/1/stdout598 2> log/1/stderr598 598: 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 598 === Start of file commands.log ../libtool --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/valgrind598 ./libtest/lib598 http://127.0.0.1:42503/598 > log/1/stdout598 2> log/1/stderr598 === End of file commands.log === Start of file http_server.log 20:55:02.134265 ====> Client connect 20:55:02.134298 accept_connection 3 returned 4 20:55:02.134314 accept_connection 3 returned 0 20:55:02.134328 Read 93 bytes 20:55:02.134338 Process 93 bytes request 20:55:02.134350 Got request: GET /verifiedserver HTTP/1.1 20:55:02.134359 Are-we-friendly question received 20:55:02.134380 Wrote request (93 bytes) input to log/1/server.input 20:55:02.134395 Identifying ourselves as friends 20:55:02.134442 Response sent (57 bytes) and written to log/1/server.response 20:55:02.134452 special request received, no persistency 20:55:02.134461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:42503/598 === End of file stderr598 === Start of file valgrind598 ==138833== ==138833== Process terminating with default action of signal 4 (SIGILL) ==138833== Illegal opcode at address 0x491A6B3 ==138833== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138833== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138833== by 0x491A6B3: Curl_open (url.c:538) ==138833== by 0x48952AF: curl_easy_init (easy.c:377) ==138833== by 0x4001087: UnknownInlinedFun (lib598.c:38) ==138833== by 0x4001087: main (first.c:196) ==138833== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138833== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138833== by 0x4A93FA5: tsearch (tsearch.c:290) ==138833== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138833== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138833== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138833== by 0x49B1142: setlocale (setlocale.c:337) ==138833== by 0x4001047: main (first.c:135) ==138833== ==138833== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138833== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138833== by 0x4A93FA5: tsearch (tsearch.c:290) ==138833== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138833== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138833== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138833== by 0x49B1142: setlocale (setlocale.c:337) ==138833== by 0x4001047: main (first.c:135) ==138833== ==138833== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138833== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138833== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138833== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138833== by 0x49B1142: setlocale (setlocale.c:337) ==138833== by 0x4001047: main (first.c:135) ==138833== ==138833== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138833== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138833== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138833== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138833== by 0x49B114CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind599 ./libtest/lib599 http://127.0.0.1:41293/599 log/20/ip599 > log/20/stdout599 2> log/20/stderr599 2: setlocale (setlocale.c:337) ==138833== by 0x4001047: main (first.c:135) ==138833== ==138833== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138833== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138833== by 0x491A603: Curl_open (url.c:517) ==138833== by 0x48952AF: curl_easy_init (easy.c:377) ==138833== by 0x4001087: UnknownInlinedFun (lib598.c:38) ==138833== by 0x4001087: main (first.c:196) ==138833== ==138833== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138833== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138833== by 0x4A93FA5: tsearch (tsearch.c:290) ==138833== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138833== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138833== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138833== by 0x49B1142: setlocale (setlocale.c:337) ==138833== by 0x4001047: main (first.c:135) ==138833== ==138833== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138833== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138833== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138833== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138833== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138833== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138833== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138833== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138833== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138833== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138833== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138833== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138833== by 0x49B1142: setlocale (setlocale.c:337) ==138833== by 0x4001047: main (first.c:135) ==138833== === 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/20/valgrind599 ./libtest/lib599 http://127.0.0.1:41293/599 log/20/ip599 > log/20/stdout599 2> log/20/stderr599 599: data FAILED: --- log/20/check-expected 2025-06-04 20:55:02.649698710 +0000 +++ log/20/check-generated 2025-06-04 20:55:02.649698710 +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/20/ 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 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind599 ./libtest/lib599 http://127.0.0.1:41293/599 log/20/ip599 > log/20/stdout599 2> log/20/stderr599 === End of file commands.log === Start of file http_server.log 20:55:02.144253 ====> Client connect 20:55:02.144285 accept_connection 3 returned 4 20:55:02.144302 accept_connection 3 returned 0 20:55:02.144316 Read 93 bytes 20:55:02.144326 Process 93 bytes request 20:55:02.144338 Got request: GET /verifiedserver HTTP/1.1 20:55:02.144347 Are-we-friendly question received 20:55:02.144369 Wrote request (93 bytes) input to log/20/server.input 20:55:02.144384 Identifying ourselves as friends 20:55:02.144433 Response sent (57 bytes) and written to log/20/server.response 20:55:02.144443 special request received, no persistency 20:55:02.144451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:41293/599 === End of file stderr599 === Start of file valgrind599 ==138847== ==138847== Process terminating with default action of signal 4 (SIGILL) ==138847== Illegal opcode at address 0x491A6B3 ==138847== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==138847== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==138847== by 0x491A6B3: Curl_open (url.c:538) ==138847== by 0x48952AF: curl_easy_init (easy.c:377) ==138847== by 0x40010AB: UnknownInlinedFun (lib599.c:55) ==138847== by 0x40010AB: main (first.c:196) ==138847== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==138847== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138847== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138847== by 0x4A93FA5: tsearch (tsearch.c:290) ==138847== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138847== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138847== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138847== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138847== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138847== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138847== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138847== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138847== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138847== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138847== by 0x49B1142: setlocale (setlocale.c:337) ==138847== by 0x4001052: main (first.c:135) ==138847== ==138847== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==138847== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138847== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138847== by 0x4A93FA5: tsearch (tsearch.c:290) ==138847== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==138847== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138847== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138847== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138847== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138847== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138847== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138847== by 0x49B1142: setlocale (setlocale.c:337) ==138847== by 0x4001052: main (first.c:135) ==138847== ==138847== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==138847== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138847== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138847== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138847== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138847== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138847== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==138847== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==138847== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138847== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138847== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138847== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138847== by 0x49B1142: setlocale (setlocale.c:337) ==138847== by 0x4001052: main (first.c:135) ==138847== ==138847== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==138847== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138847== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138847== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==138847== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==138847== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138847== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138847== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138847== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138847== by 0x49B1142: setlocale (setlocale.c:337) ==138847== by 0x4001052: main (first.c:135) ==138847== ==138847== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==138847== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==138847== by 0x491A603: Curl_open (url.c:517) ==138847== by 0x48952AF: curl_easy_init (easy.c:377) ==138847== by 0x40010AB: UnknownInlinedFun (lib599.c:55) ==138847== by 0x40010AB: main (first.c:196) ==138847== ==138847== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==138847== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138847== by 0x4A93FA5: __tsearch (tsearch.c:337) ==138847== by 0x4A93FA5: tsearch (tsearch.c:290) ==138847== by 0x49A60F4: add_alias2.parcannot find sshd cannot find sshd t.0 (gconv_conf.c:142) ==138847== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138847== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138847== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138847== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138847== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138847== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138847== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138847== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138847== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138847== by 0x49B1142: setlocale (setlocale.c:337) ==138847== by 0x4001052: main (first.c:135) ==138847== ==138847== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==138847== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==138847== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==138847== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==138847== by 0x49A63F0: add_alias (gconv_conf.c:178) ==138847== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==138847== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==138847== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==138847== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==138847== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==138847== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==138847== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==138847== by 0x49B1142: setlocale (setlocale.c:337) ==138847== by 0x4001052: main (first.c:135) ==138847== === End of file valgrind599 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/5/valgrind587 ./libtest/lib587 http://127.0.0.1:33725/587 > log/5/stdout587 2> log/5/stderr587 lib587 returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/5/ dir after test 587 === Start of file commands.log ../libtool --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/valgrind587 ./libtest/lib587 http://127.0.0.1:33725/587 > log/5/stdout587 2> log/5/stderr587 === End of file commands.log === Start of file http_server.log 20:55:01.422039 ====> Client connect 20:55:01.422061 accept_connection 3 returned 4 20:55:01.422073 accept_connection 3 returned 0 20:55:01.422082 Read 93 bytes 20:55:01.422089 Process 93 bytes request 20:55:01.422098 Got request: GET /verifiedserver HTTP/1.1 20:55:01.422104 Are-we-friendly question received 20:55:01.422119 Wrote request (93 bytes) input to log/5/server.input 20:55:01.422129 Identifying ourselves as friends 20:55:01.422163 Response sent (57 bytes) and written to log/5/server.response 20:55:01.422170 special request received, no persistency 20:55:01.422176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:33725/587 === End of file stderr587 === Start of file valgrind587 ==137754== ==137754== Process terminating with default action of signal 4 (SIGILL) ==137754== Illegal opcode at address 0x491A6B3 ==137754== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==137754== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==137754== by 0x491A6B3: Curl_open (url.c:538) ==137754== by 0x48952AF: curl_easy_init (easy.c:377) ==137754== by 0x40013CE: test_once (lib554.c:147) ==137754== by 0x4001084: UnknownInlinedFun (lib554.c:199) ==137754== by 0x4001084: main (first.c:196) ==137754== 408 bytes in 17 blocks are possibly lost in loss record 620 of 671 ==137754== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137754== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137754== by 0x4A93FA5: tsearch (tsearch.c:290) ==137754== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137754== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137754== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137754== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137754== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137754== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137754== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137754== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137754== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137754== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137754== by 0x49B1142: setlocale (setlocale.c:337) ==137754== by 0x4001041: main (first.c:135) ==137754== ==137754== 552 bytes in 23 blocks are possibly lost in loss record 624 of 671 ==137754== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137754== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137754== by 0x4A93FA5: tsearch (tsearch.c:290) ==137754== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137754== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137754== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137754== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137754== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137754== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137754== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137754== by 0x49B1142: setlocale (setlocale.c:337) ==137754== by 0x4001041: main (first.c:135) ==137754== ==137754== 681 bytes in 17 blocks are possibly lost in loss record 630 of 671 ==137754== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137754== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137754== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137754== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137754== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137754== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==137754== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==137754== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137754== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137754== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137754== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137754== by 0x49B1142: setlocale (setlocale.c:337) ==137754== by 0x4001041: main (first.c:135) ==137754== ==137754== 1,018 bytes in 23 blocks are possibly lost in loss record 645 of 671 ==137754== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137754== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137754== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==137754== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==137754== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137754== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137754== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137754== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137754== by 0x49B1142: setlocale (setlocale.c:337) ==137754== by 0x4001041: main (first.c:135) ==137754== ==137754== 5,456 bytes in 1 blocks are definitely lost in loss record 664 of 671 =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/3/valgrind632 ../src/curl -q --output log/3/curl632.out --include --trace-ascii log/3/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/3/server/curl_client_key --pubkey log/3/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/3/irrelevant-file --insecure > log/3/stdout632 2> log/3/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/19/valgrind643 ./libtest/lib643 http://127.0.0.1:46549/643 > log/19/stdout643 2> log/19/stderr643 =137754== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==137754== by 0x491A603: Curl_open (url.c:517) ==137754== by 0x48952AF: curl_easy_init (easy.c:377) ==137754== by 0x40013CE: test_once (lib554.c:147) ==137754== by 0x4001084: UnknownInlinedFun (lib554.c:199) ==137754== by 0x4001084: main (first.c:196) ==137754== ==137754== 11,664 bytes in 486 blocks are possibly lost in loss record 667 of 671 ==137754== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137754== by 0x4A93FA5: __tsearch (tsearch.c:337) ==137754== by 0x4A93FA5: tsearch (tsearch.c:290) ==137754== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==137754== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137754== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137754== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137754== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137754== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137754== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137754== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137754== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137754== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137754== by 0x49B1142: setlocale (setlocale.c:337) ==137754== by 0x4001041: main (first.c:135) ==137754== ==137754== 18,800 bytes in 486 blocks are possibly lost in loss record 669 of 671 ==137754== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==137754== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==137754== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==137754== by 0x49A63F0: add_alias (gconv_conf.c:178) ==137754== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==137754== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==137754== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==137754== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==137754== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==137754== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==137754== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==137754== by 0x49B1142: setlocale (setlocale.c:337) ==137754== by 0x4001041: main (first.c:135) ==137754== === End of file valgrind587 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 42457 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42457 test 0582 SKIPPED: failed starting SSH server test 0622 SKIPPED: failed starting SSH server test 0623 SKIPPED: failed starting SSH server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/19/server/ssh_server.pid" --logdir "log/19" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 40203 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40203 * 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/3/valgrind632 ../src/curl -q --output log/3/curl632.out --include --trace-ascii log/3/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/3/server/curl_client_key --pubkey log/3/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/3/irrelevant-file --insecure > log/3/stdout632 2> log/3/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/3/ dir after test 632 === Start of file commands.log ../libtool --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/valgrind632 ../src/curl -q --output log/3/curl632.out --include --trace-ascii log/3/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/3/server/curl_client_key --pubkey log/3/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/3/irrelevant-file --insecure > log/3/stdout632 2> log/3/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==138998== ==138998== Process terminating with default action of signal 4 (SIGILL) ==138998== Illegal opcode at address 0x4003082 ==138998== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==138998== by 0x4003082: main (tool_main.c:243) === 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/19/valgrind643 ./libtest/lib643 http://127.0.0.1:46549/643 > log/19/stdout643 2> log/19/stderr643 643: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind643 ./libtest/lib643 http://127.0.0.1:46549/643 > log/19/stdout643 2> log/19/stderr643 === End of file commands.log === Start of file http_server.log 20:55:17.357689 ====> Client connect 20:55:17.357709 accept_connection 3 returned 4 20:55:17.357721 accept_connection 3 returned 0 20:55:17.357731 Read 93 bytes 20:55:17.357738 Process 93 bytes request 20:55:17.357747 Got request: GET /verifiedserver HTTP/1.1 20:55:17.357754 Are-we-friendly question received 20:55:17.357770 Wrote request (93 bytes) input to log/19/server.input 20:55:17.357781 Identifying ourselves as friends 20:55:17.357822 Response sent (57 bytes) and written to log/19/server.response 20:55:17.357828 special request received, no persistency 20:55:17.357834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:46549/643 === End of file stderr643 === Start of file valgrind643 ==139065== ==139065== Process terminating with default action of signal 4 (SIGILL) ==139065== Illegal opcode at address 0x491A6B3 ==139065== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139065== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139065== by 0x491A6B3: Curl_open (url.c:538) ==139065== by 0x48952AF: curl_easy_init (easy.c:377) ==139065== by 0x4001345: test_once (lib643.c:78) ==139065== by 0x4001092: UnknownInlinedFun (lib643.c:261) ==139065== by 0x4001092: main (first.c:196) ==139065== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139065== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139065== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139065== by 0x4A93FA5: tsearch (tsearch.c:290) ==139065== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139065== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139065== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139065== by 0x49A63F0: CMD (33792): ../libtool --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/valgrind645 ./libtest/lib645 http://127.0.0.1:33171/645 > log/3/stdout645 2> log/3/stderr645 read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139065== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139065== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139065== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139065== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139065== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139065== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139065== by 0x49B1142: setlocale (setlocale.c:337) ==139065== by 0x400104B: main (first.c:135) ==139065== ==139065== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139065== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139065== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139065== by 0x4A93FA5: tsearch (tsearch.c:290) ==139065== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139065== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139065== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139065== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139065== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139065== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139065== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139065== by 0x49B1142: setlocale (setlocale.c:337) ==139065== by 0x400104B: main (first.c:135) ==139065== ==139065== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139065== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139065== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139065== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139065== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139065== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139065== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139065== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139065== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139065== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139065== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139065== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139065== by 0x49B1142: setlocale (setlocale.c:337) ==139065== by 0x400104B: main (first.c:135) ==139065== ==139065== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139065== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139065== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139065== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139065== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139065== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139065== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139065== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139065== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139065== by 0x49B1142: setlocale (setlocale.c:337) ==139065== by 0x400104B: main (first.c:135) ==139065== ==139065== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139065== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139065== by 0x491A603: Curl_open (url.c:517) ==139065== by 0x48952AF: curl_easy_init (easy.c:377) ==139065== by 0x4001345: test_once (lib643.c:78) ==139065== by 0x4001092: UnknownInlinedFun (lib643.c:261) ==139065== by 0x4001092: main (first.c:196) ==139065== ==139065== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139065== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139065== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139065== by 0x4A93FA5: tsearch (tsearch.c:290) ==139065== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139065== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139065== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139065== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139065== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139065== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139065== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139065== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139065== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139065== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139065== by 0x49B1142: setlocale (setlocale.c:337) ==139065== by 0x400104B: main (first.c:135) ==139065== ==139065== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139065== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139065== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139065== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139065== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139065== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139065== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139065== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139065== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139065== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139065== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139065== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139065== by 0x49B1142: setlocale (setlocale.c:337) ==139065== by 0x400104B: main (first.c:135) ==139065== === End of file valgrind643 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 32937 startnew: child process has died, server might start up RUN: failed to start the SSH server on 32937 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/15/server/ssh_server.pid" --logdir "log/15" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 40445 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40445 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/3/valgrind645 ./libtest/lib645 http://127.0.0.1:33171/645 > log/3/stdout645 2> log/3/stderr645 645: 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 645 === Start of file commands.log ../libtool --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/valgrind645 ./libtest/lib645 http://127.0.0.1:33171/645 > log/3/stdout645 2> log/3/stderr645 === End of file commands.log === Start of file http_server.log 20:55:17.677613 ====> Client connect 20:55:17.677636 accept_connection 3 returned 4 20:55:17.677649 accept_connection 3 returned 0 20:55:17.677659 Read 93 bytes 20:55:17.677665 Process 93 bytes request 20:55:17.677674 Got request: GET /verifiedserver HTTP/1.1 20:55:17.677680 Are-we-friendly question received 20:55:17.677695 Wrote request (93 bytes) input to log/3/server.input 20:55:17.677705 Identifying ourselves as friends 20:55:17.677753 Response sent (57 bytes) and written to log/3/server.response 20:55:17.677759 special request received, no persistency 20:55:17.677765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:33171/645 === End of file stderr645 === Start of file valgrind645 ==139128== ==139128== Process terminating with default action of signal 4 (SIGILL) ==139128== Illegal opcode at address 0x491A6B3 ==139128== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139128== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139128== by 0x491A6B3: Curl_open (url.c:538) ==139128== by 0x48952AF: curl_easy_init (easy.c:377) ==139128== by 0x400133C: test_once (lib643.c:78) ==139128== by 0x4001092: UnknownInlinedFun (lib643.c:261) ==139128== by 0x4001092: main (first.c:196) ==139128== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139128== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139128== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139128== by 0x4A93FA5: tsearch (tsearch.c:290) ==139128== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139128== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139128== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139128== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139128== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139128== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139128== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139128== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139128== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139128== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139128== by 0x49B1142: setlocale (setlocale.c:337) ==139128== by 0x400104B: main (first.c:135) ==139128== ==139128== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139128== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139128== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139128== by 0x4A93FA5: tsearch (tsearch.c:290) ==139128== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139128== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139128== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139128== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139128== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139128== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139128== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139128== by 0x49B1142: setlocale (setlocale.c:337) ==139128== by 0x400104B: main (first.c:135) ==139128== ==139128== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139128== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139128== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139128== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139128== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139128== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139128== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139128== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139128== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139128== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139128== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139128== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139128== by 0x49B1142: setlocale (setlocale.c:337) ==139128== by 0x400104B: main (first.c:135) ==139128== ==139128== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139128== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139128== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139128== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139128== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139128== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139128== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139128== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139128== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139128== by 0x49B1142: setlocale (setlocale.c:337) ==139128== by 0x400104B: main (first.c:135) ==139128== ==139128== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139128== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139128== by 0x491A603: Curl_open (url.c:517) ==139128== by 0x48952AF: curl_easy_init (easy.c:377) ==139128== by 0x400133C: test_once (lib643.c:78) ==139128== by 0x4001092: UnknownInlinedFun (lib643.c:261) ==139128== by 0x4001092: main (first.c:196) ==139128== ==139128== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139128== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139128== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139128== by 0x4A93FA5: tsearch (tsearch.c:290) ==139128== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139128== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139128== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139128== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139128== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139128== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139128== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139128== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139128== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139128== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139128== by 0x49B1142: setlocale (setlocale.c:337) ==139128== by 0x400104B: main (first.c:135) ==139128== ==139128== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139128== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139128== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139128== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139128== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139128== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139128== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139128== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139128== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139128== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139128== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139128== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139128== by 0x49B1142: setlocale (setlocale.c:337) ==139128== by 0x400104B: main (first.c:135) ==139128== === End of file valgrind645 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/18/server/ssh_server.pid" --logdir "log/18" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 38093 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38093 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/16/server/ssh_server.pid" --logdir "log/16" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35649 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35649 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 44513 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44513 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/24/server/ssh_server.pid" --logdir "log/24" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 43573 startnew: child process has died, 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/16/valgrind651 ./libtest/lib651 http://127.0.0.1:33409/651 log/16/test651.filedata log/16/stdout651 2> log/16/stderr651 ver might start up RUN: failed to start the SSH server on 43573 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/13/server/ssh_server.pid" --logdir "log/13" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 32785 startnew: child process has died, server might start up RUN: failed to start the SSH server on 32785 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 37851 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37851 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 43481 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43481 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 44691 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44691 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 45313 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45313 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/17/server/ssh_server.pid" --logdir "log/17" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 38221 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38221 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/16/valgrind651 ./libtest/lib651 http://127.0.0.1:33409/651 log/16/test651.filedata log/16/stdout651 2> log/16/stderr651 651: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 651 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind651 ./libtest/lib651 http://127.0.0.1:33409/651 log/16/test651.filedata log/16/stdout651 2> log/16/stderr651 === End of file commands.log === Start of file http_server.log 20:55:18.354756 ====> Client connect 20:55:18.354783 accept_connection 3 returned 4 20:55:18.354795 accept_connection 3 returned 0 20:55:18.354804 Read 93 bytes 20:55:18.354811 Process 93 bytes request 20:55:18.354820 Got request: GET /verifiedserver HTTP/1.1 20:55:18.354826 Are-we-friendly question received 20:55:18.354841 Wrote request (93 bytes) input to log/16/server.input 20:55:18.354851 Identifying ourselves as friends 20:55:18.354897 Response sent (57 bytes) and written to log/16/server.response 20:55:18.354903 special request received, no persistency 20:55:18.354909 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:33409/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 ==139220== ==139220== Process terminating with default action of signal 4 (SIGILL) ==139220== Illegal opcode at address 0x40010A0 ==139220== at 0x40010A0: UnknownInlinedFun (string_fortified.h:59) ==139220== by 0x40010A0: UnknownInlinedFun (lib651.c:43) ==139220== by 0x40010A0: main (first.c:196) ==139220== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==139220== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139220== by 0x4A97FA5: __tsearch (tsearch.c:337) ==139220== by 0x4A97FA5: tsearch (tsearch.c:290) ==139220== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==139220== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139220== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139220== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139220== by 0x49AA555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139220== by 0x49AA555: __gconv_read_conf (gconv_conf.c:480) ==139220== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139220== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139220== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139220== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139220== by 0x49B5142: setlocale (setlocale.c:337) ==139220== by 0x4001054: main (first.c:135) ==139220== ==139220== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==139220== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139220== by 0x4A97FA5: __tsearch (tsearch.c:337) ==139220== by 0x4A97FA5: tsearch (tsearch.c:290) ==139220== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==139220== by 0x49AA74A: add_alias2 (gconv_conf.c:105) ==139220== by 0x49AA74A: __gconv_read_conf (gconv_conf.c:508) ==139220== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139220== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139220== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139220== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139220== by 0x49B5142: setlocale (setlocale.c:337) ==139220== by 0x4001054: main (first.c:135) ==139220== ==139220== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==139220== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139220== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==139220== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139220== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139220== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139220== by 0x49AA555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139220== by 0x49AA555: __gconv_read_conf (gconv_conf.c:480) ==139220== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139220== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139220== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139220== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139220== by 0x49B5142: setlocale (setlocale.c:337) ==139220== by 0x4001054: main (first.c:135) ==139220== ==139220== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==139220== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139220== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==139220== by 0x49AA74A: add_alias2 (gconv_conf.c:105) ==139220== by 0x49AA74A: __gconv_read_conf (gconv_conf.c:508) ==139220== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139220== by 0x4A1AD28: pthreadRUN: Process with pid 136929 signalled to die RUN: Process with pid 136929 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/18/valgrind650 ./libtest/lib650 http://127.0.0.1:34637/650 log/18/test650.filedata log/18/stdout650 2> log/18/stderr650 _once@@GLIBC_2.34 (pthread_once.c:143) ==139220== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139220== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139220== by 0x49B5142: setlocale (setlocale.c:337) ==139220== by 0x4001054: main (first.c:135) ==139220== ==139220== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==139220== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139220== by 0x4A97FA5: __tsearch (tsearch.c:337) ==139220== by 0x4A97FA5: tsearch (tsearch.c:290) ==139220== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==139220== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139220== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139220== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139220== by 0x49AA775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139220== by 0x49AA775: __gconv_read_conf (gconv_conf.c:480) ==139220== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139220== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139220== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139220== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139220== by 0x49B5142: setlocale (setlocale.c:337) ==139220== by 0x4001054: main (first.c:135) ==139220== ==139220== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==139220== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139220== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==139220== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139220== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139220== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139220== by 0x49AA775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139220== by 0x49AA775: __gconv_read_conf (gconv_conf.c:480) ==139220== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139220== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139220== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139220== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139220== by 0x49B5142: setlocale (setlocale.c:337) ==139220== by 0x4001054: main (first.c:135) ==139220== === End of file valgrind651 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 40129 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40129 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/14/server/ssh_server.pid" --logdir "log/14" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 38923 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38923 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 41677 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41677 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 43677 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43677 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/22/server/ssh_server.pid" --logdir "log/22" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35889 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35889 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/21/server/ssh_server.pid" --logdir "log/21" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33227 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33227 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/23/server/ssh_server.pid" --logdir "log/23" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34341 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34341 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 44263 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44263 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/20/server/ssh_server.pid" --logdir "log/20" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42383 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42383 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/18/valgrind650 ./libtest/lib650 http://127.0.0.1:34637/650 log/18/test650.filedata log/18/stdout650 2> log/18/stderr650 650: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 650 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind650 ./libtest/lib650 http://127.0.0.1:34637/650 log/18/test650.filedata log/18/stdout650 2> log/18/stderr650 === End of file commands.log === Start of file http_server.log 20:55:18.348438 ====> Client connect 20:55:18.348457 accept_connection 3 returned 4 20:55:18.348469 accept_connection 3 returned 0 20:55:18.348479 Read 93 bytes 20:55:18.348486 Process 93 bytes request 20:55:18.348496 Got request: GET /verifiedserver HTTP/1.1 20:55:18.348502 Are-we-friendly question received 20:55:18.348517 Wrote request (93 bytes) input to log/18/server.input 20:55:18.348527 Identifying ourselves as friends 20:55:18.348561 Response sent (57 bytes) and written to log/18/server.response 20:55:18.348568 special request received, no persistency 20:55:18.348574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:34637/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 ==139221== ==139221== Process terminating with default action of signal 4 (SIGILL) ==139221== Illegal opcode at address 0x48D0355 ==139221== at 0x48D0355: UnknownInlinedFun (string_fortified.h:59) ==139221== by 0x48D0355: curl_mime_init (mime.c:1292) ==139221== by 0x489F508: Curl_getformdata.part.0 (formdata.c:812) ==139221==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind653 ./libtest/lib653 http://127.0.0.1:45957/653 > log/24/stdout653 2> log/24/stderr653 by 0x489F9E9: UnknownInlinedFun (formdata.c:809) ==139221== by 0x489F9E9: curl_formget (formdata.c:702) ==139221== by 0x400128F: UnknownInlinedFun (lib650.c:150) ==139221== by 0x400128F: main (first.c:196) ==139221== 96 bytes in 1 blocks are definitely lost in loss record 593 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x48D032F: curl_mime_init (mime.c:1285) ==139221== by 0x489F508: Curl_getformdata.part.0 (formdata.c:812) ==139221== by 0x489F9E9: UnknownInlinedFun (formdata.c:809) ==139221== by 0x489F9E9: curl_formget (formdata.c:702) ==139221== by 0x400128F: UnknownInlinedFun (lib650.c:150) ==139221== by 0x400128F: main (first.c:196) ==139221== ==139221== 408 bytes in 17 blocks are possibly lost in loss record 625 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139221== by 0x4A93FA5: tsearch (tsearch.c:290) ==139221== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139221== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139221== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139221== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139221== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139221== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139221== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139221== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139221== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139221== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139221== by 0x49B1142: setlocale (setlocale.c:337) ==139221== by 0x4001059: main (first.c:135) ==139221== ==139221== 552 bytes in 23 blocks are possibly lost in loss record 629 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139221== by 0x4A93FA5: tsearch (tsearch.c:290) ==139221== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139221== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139221== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139221== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139221== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139221== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139221== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139221== by 0x49B1142: setlocale (setlocale.c:337) ==139221== by 0x4001059: main (first.c:135) ==139221== ==139221== 681 bytes in 17 blocks are possibly lost in loss record 635 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139221== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139221== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139221== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139221== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139221== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139221== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139221== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139221== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139221== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139221== by 0x49B1142: setlocale (setlocale.c:337) ==139221== by 0x4001059: main (first.c:135) ==139221== ==139221== 1,018 bytes in 23 blocks are possibly lost in loss record 650 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139221== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139221== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139221== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139221== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139221== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139221== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139221== by 0x49B1142: setlocale (setlocale.c:337) ==139221== by 0x4001059: main (first.c:135) ==139221== ==139221== 11,664 bytes in 486 blocks are possibly lost in loss record 671 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139221== by 0x4A93FA5: tsearch (tsearch.c:290) ==139221== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139221== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139221== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139221== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139221== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139221== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139221== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139221== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139221== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139221== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139221== by 0x49B1142: setlocale (setlocale.c:337) ==139221== by 0x4001059: main (first.c:135) ==139221== ==139221== 18,800 bytes in 486 blocks are possibly lost in loss record 673 of 675 ==139221== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139221== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139221== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139221== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139221== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139221== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139221== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139221== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139221== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139221== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139221== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139221== by 0x49B1142: setlocale (setlocale.c:337) ==139221== by 0x4001059: main (first.c:135) ==139221== === End of file valgrind650 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/24/valgrind653 ./libtest/lib653 http://127.0.0.1:45957/653 > log/24/stdout653 2> log/24/stderr653 653: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 653 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind653 ./libtest/lib653 http://127.0.0.1:45957/653 > log/24/stdout653 2> log/24/stderr653 === End of file commands.log === Start of file http_server.log 20:55:18.376885 ====> Client connect 20:55:18.376905 accept_connection 3 returned 4 20:55:18.376917 accept_connection 3 returned 0 20:55:18.376926 Read 93 bytes 20:55:18.376933 Process 93 bytes request 20:55:18.376940 Got request: GET /verifiedserver HTTP/1.1 20:55:18.376946 Are-we-friendly question received 20:55:18.376960 Wrote request (93 bytes) input to log/24/server.input 20:55:18.376970 Identifying ourselves as friends 20:55:18.377007 Response sent (57 bytes) and written to log/24/server.response 20:55:18.377013 special request received, no persistency 20:55:18.377019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind662 ../src/curl -q --output log/16/curl662.out --include --trace-ascii log/16/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:33409 > log/16/stdout662 2> log/16/stderr662 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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:45957/653 === End of file stderr653 === Start of file valgrind653 ==139321== ==139321== Process terminating with default action of signal 4 (SIGILL) ==139321== Illegal opcode at address 0x491A6B3 ==139321== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139321== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139321== by 0x491A6B3: Curl_open (url.c:538) ==139321== by 0x48952AF: curl_easy_init (easy.c:377) ==139321== by 0x400108D: UnknownInlinedFun (lib653.c:39) ==139321== by 0x400108D: UnknownInlinedFun (lib653.c:31) ==139321== by 0x400108D: main (first.c:196) ==139321== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139321== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139321== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139321== by 0x4A93FA5: tsearch (tsearch.c:290) ==139321== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139321== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139321== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139321== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139321== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139321== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139321== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139321== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139321== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139321== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139321== by 0x49B1142: setlocale (setlocale.c:337) ==139321== by 0x400104B: main (first.c:135) ==139321== ==139321== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139321== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139321== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139321== by 0x4A93FA5: tsearch (tsearch.c:290) ==139321== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139321== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139321== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139321== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139321== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139321== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139321== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139321== by 0x49B1142: setlocale (setlocale.c:337) ==139321== by 0x400104B: main (first.c:135) ==139321== ==139321== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139321== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139321== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139321== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139321== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139321== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139321== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139321== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139321== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139321== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139321== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139321== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139321== by 0x49B1142: setlocale (setlocale.c:337) ==139321== by 0x400104B: main (first.c:135) ==139321== ==139321== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139321== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139321== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139321== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139321== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139321== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139321== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139321== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139321== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139321== by 0x49B1142: setlocale (setlocale.c:337) ==139321== by 0x400104B: main (first.c:135) ==139321== ==139321== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139321== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139321== by 0x491A603: Curl_open (url.c:517) ==139321== by 0x48952AF: curl_easy_init (easy.c:377) ==139321== by 0x400108D: UnknownInlinedFun (lib653.c:39) ==139321== by 0x400108D: UnknownInlinedFun (lib653.c:31) ==139321== by 0x400108D: main (first.c:196) ==139321== ==139321== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139321== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139321== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139321== by 0x4A93FA5: tsearch (tsearch.c:290) ==139321== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139321== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139321== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139321== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139321== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139321== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139321== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139321== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139321== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139321== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139321== by 0x49B1142: setlocale (setlocale.c:337) ==139321== by 0x400104B: main (first.c:135) ==139321== ==139321== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139321== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139321== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139321== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139321== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139321== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139321== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139321== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139321== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139321== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139321== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139321== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139321== by 0x49B1142: setlocale (setlocale.c:337) ==139321== by 0x400104B: main (first.c:135) ==139321== === End of file valgrind653 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/16/valgrind662 ../src/curl -q --output log/16/curl662.out --include --trace-ascii log/16/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:33409 > log/16/stdout662 2> log/16/stderr662 662: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 662 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind662 ../src/curl -q --output log/16/curl662.out --include --trace-ascii log/16/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:33409 > log/16/stdout662 2> log/16/stderr662 === End 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/10/valgrind663 ../src/curl -q --output log/10/curl663.out --include --trace-ascii log/10/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:43831 > log/10/stdout663 2> log/10/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/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-config all --trace-time http://127.0.0.1:44239/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 CMD (33792): ../libtool --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/valgrind658 ./libtest/lib658 http://127.0.0.1:46863/658 > log/9/stdout658 2> log/9/stderr658 file commands.log === Start of file http_server.log 20:55:18.799458 ====> Client connect 20:55:18.799480 accept_connection 3 returned 4 20:55:18.799491 accept_connection 3 returned 0 20:55:18.799501 Read 93 bytes 20:55:18.799509 Process 93 bytes request 20:55:18.799517 Got request: GET /verifiedserver HTTP/1.1 20:55:18.799523 Are-we-friendly question received 20:55:18.799544 Wrote request (93 bytes) input to log/16/server.input 20:55:18.799554 Identifying ourselves as friends 20:55:18.799590 Response sent (57 bytes) and written to log/16/server.response 20:55:18.799596 special request received, no persistency 20:55:18.799602 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind662 ==139713== ==139713== Process terminating with default action of signal 4 (SIGILL) ==139713== Illegal opcode at address 0x4003082 ==139713== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==139713== by 0x4003082: main (tool_main.c:243) === 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/10/valgrind663 ../src/curl -q --output log/10/curl663.out --include --trace-ascii log/10/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:43831 > log/10/stdout663 2> log/10/stderr663 663: 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 663 === Start of file commands.log ../libtool --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/valgrind663 ../src/curl -q --output log/10/curl663.out --include --trace-ascii log/10/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:43831 > log/10/stdout663 2> log/10/stderr663 === End of file commands.log === Start of file http_server.log 20:55:18.824601 ====> Client connect 20:55:18.824626 accept_connection 3 returned 4 20:55:18.824639 accept_connection 3 returned 0 20:55:18.824650 Read 93 bytes 20:55:18.824657 Process 93 bytes request 20:55:18.824667 Got request: GET /verifiedserver HTTP/1.1 20:55:18.824674 Are-we-friendly question received 20:55:18.824691 Wrote request (93 bytes) input to log/10/server.input 20:55:18.824702 Identifying ourselves as friends 20:55:18.824742 Response sent (57 bytes) and written to log/10/server.response 20:55:18.824750 special request received, no persistency 20:55:18.824756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file valgrind663 ==139847== ==139847== Process terminating with default action of signal 4 (SIGILL) ==139847== Illegal opcode at address 0x4003082 ==139847== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==139847== by 0x4003082: main (tool_main.c:243) === End of file valgrind663 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 42095 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42095 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/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-config all --trace-time http://127.0.0.1:44239/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 669: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 669 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-config all --trace-time http://127.0.0.1:44239/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 === End of file commands.log === Start of file http_server.log 20:55:18.839621 ====> Client connect 20:55:18.839648 accept_connection 3 returned 4 20:55:18.839681 accept_connection 3 returned 0 20:55:18.839693 Read 93 bytes 20:55:18.839702 Process 93 bytes request 20:55:18.839712 Got request: GET /verifiedserver HTTP/1.1 20:55:18.839721 Are-we-friendly question received 20:55:18.839740 Wrote request (93 bytes) input to log/22/server.input 20:55:18.839755 Identifying ourselves as friends 20:55:18.839802 Response sent (57 bytes) and written to log/22/server.response 20:55:18.839811 special request received, no persistency 20:55:18.839819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === End of file http_verify.out === Start of file server.cmd Testnum 669 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind669 ==139888== ==139888== Process terminating with default action of signal 4 (SIGILL) ==139888== Illegal opcode at address 0x4003082 ==139888== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==139888== by 0x4003082: main (tool_main.c:243) === End of file valgrind669 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/9/valgrind658 ./libtest/lib658 http://127.0.0.1:46863/658 > log/9/stdout658 2> log/9/stderr658 658: 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 658 === Start of file commands.log ../libtool --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/valgrind658 ./libtest/lib658 http://127.0.0.1:46863/658 > log/9/stdout658 2> log/9/stderr658 === End of file commands.log === Start of file http_server.log 20:55:18.675631 ====> Client connect 20:55:18.675653 accept_connection 3 returned 4 20:55:18.675666 accept_connection 3 returned 0 20:55:18.675676 Read 93 bytes 20:55:18.675683 Process 93 bytes request 20:55:18.675690 Got request: GET /verifiedserver HTTP/1.1 20:55:18.675696 Are-we-friendly question received 20:55:18.675712 Wrote request (93 bytes) input to log/9/server.input 20:55:18.675722 Identifying ourselves as friends 20:55:18.675761 Response sent (57 bytes) and written to log/9/server.response 20:55:18.675768 special request received, no persistency 20:55:18.675774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:46863/658 === End of file stderr658 === Start of file valgrind658 ==139474== ==139474== Process terminating with default action of signal 4 (SIGILL) ==139474== Illegal opcode at address 0x491A6B3 ==139474== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139474== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139474== by 0x491A6B3: Curl_open (url.c:538) ==139474== by 0x48952AF: curl_easy_init (easy.c:377) ==139474== by 0x4001087: UnknownInlinedFun (lib658.c:42) ==139474== by 0x4001087: UnknownInlinedFun (lib658.c:34) ==139474== by 0x4001087: main (first.c:196) ==139474== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139474== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139474== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139474== by 0x4A93FA5: tsearch (tsearch.c:290) ==139474== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139474== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139474== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139474== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139474== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139474== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139474== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139474== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139474== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139474== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139474== by 0x49B1142: setlocale (setlocale.c:337) ==139474== by 0x4001045: main (first.c:135) ==139474== ==139474== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139474== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139474== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139474== by 0x4A93FA5: tsearch (tsearch.c:290) ==139474== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139474== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139474== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139474== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139474== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139474== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139474== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139474== by 0x49B1142: setlocale (setlocale.c:337) ==139474== by 0x4001045: main (first.c:135) ==139474== ==139474== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139474== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139474== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139474== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139474== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139474== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139474== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139474== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139474== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139474== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139474== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139474== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139474== by 0x49B1142: setlocale (setlocale.c:337) ==139474== by 0x4001045: main (first.c:135) ==139474== ==139474== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139474== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139474== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139474== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139474== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139474== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139474== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139474== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139474== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139474== by 0x49B1142: setlocale (setlocale.c:337) ==139474== by 0x4001045: main (first.c:135) ==139474== ==139474== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139474== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139474== by 0x491A603: Curl_open (url.c:517) ==139474== by 0x48952AF: curl_easy_init (easy.c:377) ==139474== by 0x4001087: UnknownInlinedFun (lib658.c:42) ==139474== by 0x4001087: UnknownInlinedFun (lib658.c:34) ==139474== by 0x4001087: main (first.c:196) ==139474== ==139474== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139474== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139474== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139474== by 0x4A93FA5: tsearch (tsearch.c:290) ==139474== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139474== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139474== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139474== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139474== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139474== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139474== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139474== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139474== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139474== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139474== by 0x49B1142: setlocale (setlocale.c:337) ==139474== by 0x4001045: main (first.c:135) ==139474== ==139474== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139474== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139474== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139474== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139474== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139474== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139474== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139474== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139474== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139474== by 0x4A16D28: 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/valgrind655 ./libtest/lib655 http://127.0.0.1:39141/655 > log/7/stdout655 2> log/7/stderr655 ead_once@@GLIBC_2.34 (pthread_once.c:143) ==139474== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139474== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139474== by 0x49B1142: setlocale (setlocale.c:337) ==139474== by 0x4001045: main (first.c:135) ==139474== === End of file valgrind658 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind654 ./libtest/lib654 http://127.0.0.1:44987/654 log/13/file654.txt > log/13/stdout654 2> log/13/stderr654 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/7/valgrind655 ./libtest/lib655 http://127.0.0.1:39141/655 > log/7/stdout655 2> log/7/stderr655 655: data FAILED: --- log/7/check-expected 2025-06-04 20:55:19.246365770 +0000 +++ log/7/check-generated 2025-06-04 20:55:19.246365770 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ dir after test 655 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind655 ./libtest/lib655 http://127.0.0.1:39141/655 > log/7/stdout655 2> log/7/stderr655 === End of file commands.log === Start of file http_server.log 20:55:18.675086 ====> Client connect 20:55:18.675108 accept_connection 3 returned 4 20:55:18.675120 accept_connection 3 returned 0 20:55:18.675130 Read 93 bytes 20:55:18.675137 Process 93 bytes request 20:55:18.675145 Got request: GET /verifiedserver HTTP/1.1 20:55:18.675152 Are-we-friendly question received 20:55:18.675168 Wrote request (93 bytes) input to log/7/server.input 20:55:18.675178 Identifying ourselves as friends 20:55:18.675217 Response sent (57 bytes) and written to log/7/server.response 20:55:18.675224 special request received, no persistency 20:55:18.675230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file stderr655 URL: http://127.0.0.1:39141/655 === End of file stderr655 === Start of file valgrind655 ==139476== ==139476== Process terminating with default action of signal 4 (SIGILL) ==139476== Illegal opcode at address 0x491A6B3 ==139476== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139476== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139476== by 0x491A6B3: Curl_open (url.c:538) ==139476== by 0x48952AF: curl_easy_init (easy.c:377) ==139476== by 0x4001081: UnknownInlinedFun (lib655.c:70) ==139476== by 0x4001081: main (first.c:196) ==139476== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139476== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139476== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139476== by 0x4A93FA5: tsearch (tsearch.c:290) ==139476== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139476== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139476== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139476== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139476== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139476== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139476== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139476== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139476== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139476== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139476== by 0x49B1142: setlocale (setlocale.c:337) ==139476== by 0x4001041: main (first.c:135) ==139476== ==139476== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139476== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139476== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139476== by 0x4A93FA5: tsearch (tsearch.c:290) ==139476== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139476== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139476== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139476== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139476== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139476== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139476== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139476== by 0x49B1142: setlocale (setlocale.c:337) ==139476== by 0x4001041: main (first.c:135) ==139476== ==139476== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139476== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139476== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139476== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139476== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139476== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139476== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139476== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139476== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139476== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139476== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139476== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139476== by 0x49B1142: setlocale (setlocale.c:337) ==139476== by 0x4001041: main (first.c:135) ==139476== ==139476== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139476== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139476== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139476== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139476== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139476== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139476== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139476== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139476== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139476== by 0x49B1142: setlocale (setlocale.c:337) ==139476== by 0x4001041: main (first.c:135) ==139476== ==139476== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139476== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139476== by 0x491A603: Curl_open (url.c:517) ==139476== by 0x48952AF: curl_easy_init (easy.c:377) ==139476== by 0x4001081: UnknownInlinedFun (lib655.c:70) ==139476== by 0x4001081: main (first.c:196) ==139476== ==139476== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139476== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139476== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139476== by 0x4A93FA5: tsearch (tsearch.c:290) ==139476== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139476== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139476== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139476== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139476== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139476== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139476== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139476== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139476== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139476== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139476== by 0x49B1142: setlocale (setlocale.c:337) ==139476== by 0x4001041: main (first.c:135) ==139476== ==139476== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139476== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139476== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139476== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139476== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139476== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139476== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139476== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139476== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139476== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139476== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139476== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139476== by 0x49B1142: setlocale (setlocale.c:337) ==139476== by 0x4001041: main (first.c:135) ==139476== === End of file valgrind655 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/13/valgrind654 ./libtest/lib654 http://127.0.0.1:44987/654 log/13/file654.txt > log/13/stdout654 2> log/13/stderr654 654: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 654 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind654 ./libtest/lib654 http://127.0.0.1:44987/654 log/13/file654.txt > log/13/stdout654 2> log/13/stderr654 === End of file commands.log === Start of file file654.txt This is data from a file === End of file file654.txt === Start of file http_server.log 20:55:18.663737 ====> Client connect 20:55:18.663766 accept_connection 3 returned 4 20:55:18.663780 accept_connection 3 returned 0 20:55:18.663791 Read 93 bytes 20:55:18.663797 Process 93 bytes request 20:55:18.663806 Got request: GET /verifiedserver HTTP/1.1 20:55:18.663812 Are-we-friendly question received 20:55:18.663827 Wrote request (93 bytes) input to log/13/server.input 20:55:18.663837 Identifying ourselves as friends 20:55:18.663889 Response sent (57 bytes) and written to log/13/server.response 20:55:18.663896 special request received, no persistency 20:55:18.663902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:44987/654 === End of file stderr654 === Start of file valgrind654 ==139445== ==139445== Process terminating with default action of signal 4 (SIGILL) ==139445== Illegal opcode at address 0x491A6B3 ==139445== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139445== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139445== by 0x491A6B3: Curl_open (url.c:538) ==139445== by 0x48952AF: curl_easy_init (easy.c:377) ==139445== by 0x40010A7: UnknownInlinedFun (lib654.c:85) ==139445== by 0x40010A7: main (first.c:196) ==139445== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139445== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139445== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139445== by 0x4A93FA5: tsearch (tsearch.c:290) ==139445== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139445== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139445== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139445== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139445== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139445== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139445== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139445== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139445== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139445== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139445== by 0x49B1142: setlocale (setlocale.c:337) ==139445== by 0x4001056: main (first.c:135) ==139445== ==139445== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139445== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139445== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139445== by 0x4A93FA5: tsearch (tsearch.c:290) ==139445== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139445== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139445== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139445== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139445== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139445== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139445== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139445== by 0x49B1142: setlocale (setlocale.c:337) ==139445== by 0x4001056: main (first.c:135) ==139445== ==139445== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139445== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139445== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139445== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139445== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139445== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139445== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139445== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139445== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139445== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139445== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139445== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139445== by 0x49B1142: setlocale (setlocale.c:337) ==139445== by 0x4001056: main (first.c:135) ==139445== ==139445== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139445== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139445== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139445== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139445== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139445== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139445== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139445== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139445== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139445== by 0x49B1142: setlocale (setlocale.c:337) ==139445== by 0x4001056: main (first.c:135) ==139445== ==139445== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139445== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139445== by 0x491A603: Curl_open (url.c:517) ==139445== by 0x48952AF: curl_easy_init (easy.c:377) ==139445== by 0x40010A7: UnknownInlinedFun (lib654.c:85) ==139445== by 0x40010A7: main (first.c:196) ==139445== ==139445== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139445== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139445== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139445== by 0x4A93FA5: tsearch (tsearch.c:290) ==139445== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139445== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139445== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139445== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139445== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139445== by 0x49A67CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind646 ../src/curl -q --output log/19/curl646.out --include --trace-ascii log/19/trace646 --trace-config all --trace-time smtp://127.0.0.1:43115/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/19/headers646" -F "=)" -F "=@log/19/test646.txt;headers=" log/19/stdout646 2> log/19/stderr646 CMD (33792): ../libtool --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/valgrind659 ./libtest/lib659 http://127.0.0.1:33337 > log/12/stdout659 2> log/12/stderr659 75: __gconv_read_conf (gconv_conf.c:480) ==139445== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139445== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139445== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139445== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139445== by 0x49B1142: setlocale (setlocale.c:337) ==139445== by 0x4001056: main (first.c:135) ==139445== ==139445== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139445== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139445== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139445== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139445== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139445== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139445== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139445== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139445== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139445== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139445== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139445== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139445== by 0x49B1142: setlocale (setlocale.c:337) ==139445== by 0x4001056: main (first.c:135) ==139445== === End of file valgrind654 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/smtp_server.pid" --logfile "log/19/smtp_server.log" --logdir "log/19" --portfile "log/19/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43115 (log/19/server/smtp_server.port) RUN: SMTP server is PID 139175 port 43115 * pid smtp => 139175 139175 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/19/valgrind646 ../src/curl -q --output log/19/curl646.out --include --trace-ascii log/19/trace646 --trace-config all --trace-time smtp://127.0.0.1:43115/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/19/headers646" -F "=)" -F "=@log/19/test646.txt;headers=" log/19/stdout646 2> log/19/stderr646 646: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 646 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind646 ../src/curl -q --output log/19/curl646.out --include --trace-ascii log/19/trace646 --trace-config all --trace-time smtp://127.0.0.1:43115/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/19/headers646" -F "=)" -F "=@log/19/test646.txt;headers=" log/19/stdout646 2> log/19/stderr646 === End of file commands.log === 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 20:55:17.764444 SMTP server listens on port IPv4/43115 20:55:17.764520 logged pid 139175 in log/19/server/smtp_server.pid 20:55:17.764537 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:17.985712 Running IPv4 version 20:55:17.985772 Listening on port 43115 20:55:17.985809 Wrote pid 139177 to log/19/server/smtp_sockfilt.pid 20:55:17.985835 Wrote port 43115 to log/19/server/smtp_server.port 20:55:17.985852 Received PING (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 ==140259== ==140259== Process terminating with default action of signal 4 (SIGILL) ==140259== Illegal opcode at address 0x4003082 ==140259== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140259== by 0x4003082: main (tool_main.c:243) === End of file valgrind646 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/12/valgrind659 ./libtest/lib659 http://127.0.0.1:33337 > log/12/stdout659 2> log/12/stderr659 659: 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 659 === Start of file commands.log ../libtool --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/valgrind659 ./libtest/lib659 http://127.0.0.1:33337 > log/12/stdout659 2> log/12/stderr659 === End of file commands.log === Start of file http_server.log 20:55:18.677371 ====> Client connect 20:55:18.677394 accept_connection 3 returned 4 20:55:18.677406 accept_connection 3 returned 0 20:55:18.677416 Read 93 bytes 20:55:18.677423 Process 93 bytes request 20:55:18.677431 Got request: GET /verifiedserver HTTP/1.1 20:55:18.677437 Are-we-friendly question received 20:55:18.677454 Wrote request (93 bytes) input to log/12/server.input 20:55:18.677465 Identifying ourselves as friends 20:55:18.677502 Response sent (57 bytes) and written to log/12/server.response 20:55:18.677509 special request received, no persistency 20:55:18.677515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:33337 === End of file stderr659 === Start of file valgrind659 ==139481== ==139481== Process terminating with default action of signal 4 (SIGILL) ==139481== Illegal opcode at address 0x491A6B3 ==139481== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139481== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139481== by 0x491A6B3: Curl_open (url.c:538) ==139481== by 0x48952AF: curl_easy_init (easy.c:377) ==139481== by 0x4001087: UnknownInlinedFun (lib659.c:41) ==139481== by 0x4001087: UnknownInlinedFun (lib659.c:34) ==139481== by 0x4001087: main (first.c:196) ==139481== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139481== at 0x484A7A8: 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/17/valgrind661 ./libtest/lib661 ftp://127.0.0.1:42765/ > log/17/stdout661 2> log/17/stderr661 replace_malloc.c:446) ==139481== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139481== by 0x4A93FA5: tsearch (tsearch.c:290) ==139481== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139481== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139481== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139481== by 0x49B1142: setlocale (setlocale.c:337) ==139481== by 0x4001045: main (first.c:135) ==139481== ==139481== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139481== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139481== by 0x4A93FA5: tsearch (tsearch.c:290) ==139481== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139481== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139481== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139481== by 0x49B1142: setlocale (setlocale.c:337) ==139481== by 0x4001045: main (first.c:135) ==139481== ==139481== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139481== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139481== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139481== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139481== by 0x49B1142: setlocale (setlocale.c:337) ==139481== by 0x4001045: main (first.c:135) ==139481== ==139481== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139481== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139481== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139481== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139481== by 0x49B1142: setlocale (setlocale.c:337) ==139481== by 0x4001045: main (first.c:135) ==139481== ==139481== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139481== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139481== by 0x491A603: Curl_open (url.c:517) ==139481== by 0x48952AF: curl_easy_init (easy.c:377) ==139481== by 0x4001087: UnknownInlinedFun (lib659.c:41) ==139481== by 0x4001087: UnknownInlinedFun (lib659.c:34) ==139481== by 0x4001087: main (first.c:196) ==139481== ==139481== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139481== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139481== by 0x4A93FA5: tsearch (tsearch.c:290) ==139481== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139481== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139481== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139481== by 0x49B1142: setlocale (setlocale.c:337) ==139481== by 0x4001045: main (first.c:135) ==139481== ==139481== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139481== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139481== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139481== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139481== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139481== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139481== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139481== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139481== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139481== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139481== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139481== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139481== by 0x49B1142: setlocale (setlocale.c:337) ==139481== by 0x4001045: main (first.c:135) ==139481== === End of file valgrind659 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/17/valgrind661 ./libtest/lib661 ftp://127.0.0.1:42765/ > log/17/stdout661 2> log/17/stderr661 661: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 661 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind661 ./libtest/lib661 ftp://127.0.0.1:42765/ > log/17/stdout661 2> log/17/stderr661 === End of file commands.log === Start of file ftp_server.log 20:55:18.466035 ====> Client connect 20:55:18.466139 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:18.466467 < "USER anonymous" 20:55:18.466507 > "331 We are happy you popped in![CR][LF]" 20:55:18.466715 < "PASS ftp@example.com" 20:55:18.466746 > "230 Welcome you silly person[CR][LF]" 20:55:18.466871 < "PWD" 20:55:18.466891 > "257 "/" is current directory[CR][LF]" 20:55:18.467020 < "EPSV" 20:55:18.467035 ====> Passive DATA channel requested by client 20:55:18.467044 DATA sockfilt for passive data channel starting... 20:55:18.468132 DATA sockfilt for passive data channel started (pid 139515) 20:55:18.468211 DATA sockfilt for passive data channel listens on port 35083 20:55:18.468238 > "229 Entering Passive Mode (|||35083|)[LF]" 20:55:18.468250 Client has been notified that DATA conn will be accepted on port 35083 20:55:18.468405 Client connects to port 35083 20:55:18.468425 ====> Client established passive DATA connection on port 35083 20:55:18.468466 < "TYPE I" 20:55:18.468484 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:18.468583 < "SIZE verifiedserver" 20:55:18.468606 > "213 18[CR][LF]" 20:55:18.468711 < "RETR verifiedserver" 20:55:18.468737 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:18.468790 =====> Closing passive DATA connection... 20:55:18.468800 Server disconnects passive DATA connection 20:55:18.468892 Server disconnected passive DATA connection 20:55:18.468938 DATA sockfilt for passive data channel quits (pid 139515) 20:55:18.469106 DATA sockfilt for passive data channel quit (pid 139515) 20:55:18.469134 =====> Closed passive DATA connection 20:55:18.469162 > "226 File transfer complete[CR][LF]" 20:55:18.512443 < "QUIT" 20:55:18.512490 > "221 bye bye baby[CR][LF]" 20:55:18.513128 MAIN sockfilt said DISC 20:55:18.513148 ====> Client disconnected 20:55:18.513191 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:18.687468 ====> Client connect 20:55:18.687636 Received DATA (on stdin) 20:55:18.687650 > 160 bytes data, server => client 20:55:18.687660 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:18.687667 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:18.687674 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:18.687729 < 16 bytes data, client => server 20:55:18.687741 'USER anonymous\r\n' 20:55:18.688019 Received DATA (on stdin) 20:55:18.688032 > 33 bytes data, server => client 20:55:18.688069 '331 We are happy you popped in!\r\n' 20:55:18.688133 < 22 bytes data, client => server 20:55:18.688142 'PASS ftp@example.com\r\n' 20:55:18.688254 Received DATA (on stdin) 20:55:18.688265 > 30 bytes data, server => client 20:55:18.688272 '230 Welcome you silly person\r\n' 20:55:18.688315 < 5 bytes data, client => server 20:55:18.688325 'PWD\r\n' 20:55:18.688389 Received DATA (on stdin) 20:55:18.688422 > 30 bytes data, server => client 20:55:18.688430 '257 "/" is current directory\r\n' 20:55:18.688469 < 6 bytes data, client => server 20:55:18.688476 'EPSV\r\n' 20:55:18.689756 Received DATA (on stdin) 20:55:18.689765 > 38 bytes data, server => client 20:55:18.689773 '229 Entering Passive Mode (|||35083|)\n' 20:55:18.689874 < 8 bytes data, client => server 20:55:18.689882 'TYPE I\r\n' 20:55:18.689987 Received DATA (on stdin) 20:55:18.689995 > 33 bytes data, server => client 20:55:18.690002 '200 I modify TYPE as you wanted\r\n' 20:55:18.690034 < 21 bytes data, client => server 20:55:18.690042 'SIZE verifiedserver\r\n' 20:55:18.690109 Received DATA (on stdin) 20:55:18.690117 > 8 bytes data, server => client 20:55:18.690123 '213 18\r\n' 20:55:18.690153 < 21 bytes data, client => server 20:55:18.690160 'RETR verifiedserver\r\n' 20:55:18.690304 Received DATA (on stdin) 20:55:18.690313 > 29 bytes data, server => client 20:55:18.690320 '150 Binary junk (18 bytes).\r\n' 20:55:18.690679 Received DATA (on stdin) 20:55:18.690703 > 28 bytes data, server => client 20:55:18.690713 '226 File transfer complete\r\n' 20:55:18.733772 < 6 bytes data, client => server 20:55:18.733799 'QUIT\r\n' 20:55:18.734003 Received DATA (on stdin) 20:55:18.734014 > 18 bytes data, server => client 20:55:18.734024 '221 bye bye baby\r\n' 20:55:18.734596 ====> Client disconnect 20:55:18.734693 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:18.689518 Running IPv4 version 20:55:18.689557 Listening on port 35083 20:55:18.689583 Wrote pid 139515 to log/17/server/ftp_sockdata.pid 20:55:18.689596 Received PING (on stdin) 20:55:18.689657 Received PORT (on stdin) 20:55:18.689854 ====> Client connect 20:55:18.690274 Received DATA (on stdin) 20:55:18.690293 > 18 bytes data, server => client 20:55:18.690302 'WE ROOLZ: 110706\r\n' 20:55:18.690325 Received DISC (on stdin) 20:55:18.690336 ====> Client forcibly disconnected 20:55:18.690459 Received QUIT (on stdin) 20:55:18.690470 quits 20:55:18.690504 ============> 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:42765/ === End of file stderr661 === Start of file valgrind661 ==139647== ==139647== Process terminating with default action of signal 4 (SIGILL) ==139647== Illegal opcode at address 0x491A6B3 ==139647== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139647== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139647== by 0x491A6B3: Curl_open (url.c:538) ==139647== by 0x48952AF: curl_easy_init (easy.c:377) ==139647== by 0x400108B: UnknownInlinedFun (lib661.c:39) ==139647== by 0x400108B: main (first.c:196) ==139647== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139647== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139647== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139647== by 0x4A93FA5: tsearch (tsearch.c:290) ==139647== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139647== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139647== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139647== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139647== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139647== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139647== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139647== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139647== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139647== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139647== by 0x49B1142: setlocale (setlocale.c:337) ==139647== by 0x400104B: main (first.c:135) ==139647== ==139647== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139647== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139647== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139647== by 0x4A93FA5: tsearch (tsearch.c:290) ==139647== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139647== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139647== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139647== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139647== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139647== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139647== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139647== by 0x49B1142: setlocale (setlocale.c:337) ==139647== by 0x400104B: main (first.c:135) ==139647== ==139647== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139647== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139647== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139647== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139647== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139647== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139647== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139647== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139647== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139647== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139647== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139647== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139647== by 0x49B1142: setlocale (setlocale.c:337) ==139647== by 0x400104B: main (first.c:135) ==139647== ==139647== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139647== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139647== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139647== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139647== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139647== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139647== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139647== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139647== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139647== by 0x49B1142: setlocale (setlocale.c:337) ==139647== by 0x400104B: main (first.c:135) ==139647== ==139647== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139647== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139647== 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/24/valgrind675 ../src/curl -q --output log/24/curl675.out --include --trace-ascii log/24/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:45957/user1/675 http://user2:foo2@127.0.0.1:45957/user2/675 > log/24/stdout675 2> log/24/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/2/valgrind668 ./libtest/lib668 http://127.0.0.1:43815/668 log/2/file668.txt > log/2/stdout668 2> log/2/stderr668 CMD (33792): ../libtool --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/valgrind667 ./libtest/lib667 http://127.0.0.1:35791/667 > log/8/stdout667 2> log/8/stderr667 1A603: Curl_open (url.c:517) ==139647== by 0x48952AF: curl_easy_init (easy.c:377) ==139647== by 0x400108B: UnknownInlinedFun (lib661.c:39) ==139647== by 0x400108B: main (first.c:196) ==139647== ==139647== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139647== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139647== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139647== by 0x4A93FA5: tsearch (tsearch.c:290) ==139647== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139647== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139647== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139647== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139647== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139647== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139647== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139647== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139647== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139647== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139647== by 0x49B1142: setlocale (setlocale.c:337) ==139647== by 0x400104B: main (first.c:135) ==139647== ==139647== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139647== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139647== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139647== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139647== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139647== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139647== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139647== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139647== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139647== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139647== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139647== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139647== by 0x49B1142: setlocale (setlocale.c:337) ==139647== by 0x400104B: main (first.c:135) ==139647== === End of file valgrind661 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/24/valgrind675 ../src/curl -q --output log/24/curl675.out --include --trace-ascii log/24/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:45957/user1/675 http://user2:foo2@127.0.0.1:45957/user2/675 > log/24/stdout675 2> log/24/stderr675 675: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind675 ../src/curl -q --output log/24/curl675.out --include --trace-ascii log/24/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:45957/user1/675 http://user2:foo2@127.0.0.1:45957/user2/675 > log/24/stdout675 2> log/24/stderr675 === End of file commands.log === Start of file http_server.log 20:55:19.044302 ====> Client connect 20:55:19.044326 accept_connection 3 returned 4 20:55:19.044339 accept_connection 3 returned 0 20:55:19.044350 Read 93 bytes 20:55:19.044358 Process 93 bytes request 20:55:19.044368 Got request: GET /verifiedserver HTTP/1.1 20:55:19.044375 Are-we-friendly question received 20:55:19.044391 Wrote request (93 bytes) input to log/24/server.input 20:55:19.044403 Identifying ourselves as friends 20:55:19.044441 Response sent (57 bytes) and written to log/24/server.response 20:55:19.044448 special request received, no persistency 20:55:19.044455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind675 ==140430== ==140430== Process terminating with default action of signal 4 (SIGILL) ==140430== Illegal opcode at address 0x4003082 ==140430== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140430== by 0x4003082: main (tool_main.c:243) === End of file valgrind675 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/2/valgrind668 ./libtest/lib668 http://127.0.0.1:43815/668 log/2/file668.txt > log/2/stdout668 2> log/2/stderr668 668: 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 668 === Start of file commands.log ../libtool --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/valgrind668 ./libtest/lib668 http://127.0.0.1:43815/668 log/2/file668.txt > log/2/stdout668 2> log/2/stderr668 === End of file commands.log === Start of file file668.txt This is data from a file === End of file file668.txt === Start of file http_server.log 20:55:18.839474 ====> Client connect 20:55:18.839503 accept_connection 3 returned 4 20:55:18.839518 accept_connection 3 returned 0 20:55:18.839529 Read 93 bytes 20:55:18.839536 Process 93 bytes request 20:55:18.839545 Got request: GET /verifiedserver HTTP/1.1 20:55:18.839552 Are-we-friendly question received 20:55:18.839570 Wrote request (93 bytes) input to log/2/server.input 20:55:18.839582 Identifying ourselves as friends 20:55:18.839627 Response sent (57 bytes) and written to log/2/server.response 20:55:18.839635 special request received, no persistency 20:55:18.839641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:43815/668 === End of file stderr668 === Start of file valgrind668 ==139921== ==139921== Process terminating with default action of signal 4 (SIGILL) ==139921== Illegal opcode at address 0x491A6B3 ==139921== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139921== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139921== by 0x491A6B3: Curl_open (url.c:538) ==139921== by 0x48952AF: curl_easy_init (easy.c:377) ==139921== by 0x40010A5: UnknownInlinedFun (lib668.c:68) ==139921== by 0x40010A5: main (first.c:196) ==139921== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139921== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139921== by 0x4A93FA5: tsearch (tsearch.c:290) ==139921== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139921== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139921== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139921== by 0x49B1142: setlocale (setlocale.c:337) ==139921== by 0x4001054: main (first.c:135) ==139921== ==139921== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139921== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139921== by 0x4A93FA5: tsearch (tsearch.c:290) ==139921== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139921== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139921== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139921== by 0x49B1142: setlocale (setlocale.c:337) ==139921== by 0x4001054: main (first.c:135) ==139921== ==139921== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139921== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139921== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139921== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139921== by 0x49B1142: setlocale (setlocale.c:337) ==139921== by 0x4001054: main (first.c:135) ==139921== ==139921== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139921== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139921== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139921== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139921== by 0x49B1142: setlocale (setlocale.c:337) ==139921== by 0x4001054: main (first.c:135) ==139921== ==139921== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139921== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139921== by 0x491A603: Curl_open (url.c:517) ==139921== by 0x48952AF: curl_easy_init (easy.c:377) ==139921== by 0x40010A5: UnknownInlinedFun (lib668.c:68) ==139921== by 0x40010A5: main (first.c:196) ==139921== ==139921== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139921== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139921== by 0x4A93FA5: tsearch (tsearch.c:290) ==139921== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139921== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139921== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139921== by 0x49B1142: setlocale (setlocale.c:337) ==139921== by 0x4001054: main (first.c:135) ==139921== ==139921== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139921== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139921== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139921== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139921== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139921== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139921== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139921== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139921== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139921== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139921== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139921== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139921== by 0x49B1142: setlocale (setlocale.c:337) ==139921== by 0x4001054: main (first.c:135) ==139921== === End of file valgrind668 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/8/valgrind667 ./libtest/lib667 http://127.0.0.1:35791/667 > log/8/stdout667 2> log/8/stderr667 667: 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 667 === Start of file commands.log ../libtool --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/valgrind667 ./libtest/lib667 http://127.0.0.1:35791/667 > log/8/stdout667 2> log/8/stderr667 === End of file commands.log === Start of file http_server.log 20:55:18.837135 ====> Client connect 20:55:18.837166 accept_connection 3 returned 4 20:55:18.837183 accept_connection 3 returned 0 20:55:18.837196 Read 93 bytes 20:55:18.837206 Process 93 bytes request 20:55:18.837217 Got request: GET /verifiedserver HTTP/1.1 20:55:18.837226 Are-we-friendly question received 20:55:18.837250 Wrote request (93 bytes) input to log/8/server.input 20:55:18.837265 Identifying ourselves as friends 20:55:18.837322 Response sent (57 bytes) and written to log/8/server.response 20:55:18.837332 special request received, no persistency 20:55:18.837340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:35791/667 === End of file stderr667 === Start of file valgrind667 ==139887== ==139887== ProcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind666 ./libtest/lib666 http://127.0.0.1:35661/666 > log/14/stdout666 2> log/14/stderr666 ess terminating with default action of signal 4 (SIGILL) ==139887== Illegal opcode at address 0x491A6B3 ==139887== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139887== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139887== by 0x491A6B3: Curl_open (url.c:538) ==139887== by 0x48952AF: curl_easy_init (easy.c:377) ==139887== by 0x4001094: UnknownInlinedFun (lib667.c:75) ==139887== by 0x4001094: main (first.c:196) ==139887== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139887== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139887== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139887== by 0x4A93FA5: tsearch (tsearch.c:290) ==139887== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139887== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139887== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139887== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139887== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139887== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139887== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139887== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139887== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139887== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139887== by 0x49B1142: setlocale (setlocale.c:337) ==139887== by 0x4001054: main (first.c:135) ==139887== ==139887== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139887== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139887== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139887== by 0x4A93FA5: tsearch (tsearch.c:290) ==139887== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139887== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139887== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139887== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139887== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139887== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139887== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139887== by 0x49B1142: setlocale (setlocale.c:337) ==139887== by 0x4001054: main (first.c:135) ==139887== ==139887== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139887== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139887== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139887== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139887== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139887== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139887== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139887== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139887== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139887== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139887== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139887== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139887== by 0x49B1142: setlocale (setlocale.c:337) ==139887== by 0x4001054: main (first.c:135) ==139887== ==139887== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139887== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139887== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139887== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139887== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139887== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139887== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139887== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139887== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139887== by 0x49B1142: setlocale (setlocale.c:337) ==139887== by 0x4001054: main (first.c:135) ==139887== ==139887== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139887== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139887== by 0x491A603: Curl_open (url.c:517) ==139887== by 0x48952AF: curl_easy_init (easy.c:377) ==139887== by 0x4001094: UnknownInlinedFun (lib667.c:75) ==139887== by 0x4001094: main (first.c:196) ==139887== ==139887== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139887== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139887== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139887== by 0x4A93FA5: tsearch (tsearch.c:290) ==139887== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139887== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139887== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139887== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139887== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139887== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139887== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139887== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139887== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139887== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139887== by 0x49B1142: setlocale (setlocale.c:337) ==139887== by 0x4001054: main (first.c:135) ==139887== ==139887== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139887== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139887== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139887== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139887== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139887== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139887== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139887== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139887== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139887== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139887== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139887== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139887== by 0x49B1142: setlocale (setlocale.c:337) ==139887== by 0x4001054: main (first.c:135) ==139887== === End of file valgrind667 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/14/valgrind666 ./libtest/lib666 http://127.0.0.1:35661/666 > log/14/stdout666 2> log/14/stderr666 666: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 666 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind666 ./libtest/lib666 http://127.0.0.1:35661/666 > log/14/stdout666 2> log/14/stderr666 === End of file commands.log === Start of file http_server.log 20:55:18.829382 ====> Client connect 20:55:18.829411 accept_connection 3 returned 4 20:55:18.829427 accept_connection 3 returned 0 20:55:18.829441 Read 93 bytes 20:55:18.829450 Process 93 bytes request 20:55:18.829462 Got request: GET /verifiedserver HTTP/1.1 20:55:18.829470 Are-we-friendly question received 20:55:18.829491 Wrote request (93 bytes) input to log/14/server.input 20:55:18.829506 Identifying ourselves as friends 20:55:18.829552 Response sent (57 bytes) and written to log/14/server.response 20:55:18.829561 special request received, no persistency 20:55:18.829569 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: 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/15/valgrind648 ../src/curl -q --output log/15/curl648.out --include --trace-ascii log/15/trace648 --trace-config all --trace-time smtp://127.0.0.1:46061/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/15/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/15/stdout648 2> log/15/stderr648 /8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:35661/666 === End of file stderr666 === Start of file valgrind666 ==139926== ==139926== Process terminating with default action of signal 4 (SIGILL) ==139926== Illegal opcode at address 0x491E6B3 ==139926== at 0x491E6B3: UnknownInlinedFun (string_fortified.h:59) ==139926== by 0x491E6B3: UnknownInlinedFun (request.c:46) ==139926== by 0x491E6B3: Curl_open (url.c:538) ==139926== by 0x48992AF: curl_easy_init (easy.c:377) ==139926== by 0x4001153: UnknownInlinedFun (lib666.c:52) ==139926== by 0x4001153: main (first.c:196) ==139926== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139926== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139926== by 0x4A97FA5: __tsearch (tsearch.c:337) ==139926== by 0x4A97FA5: tsearch (tsearch.c:290) ==139926== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==139926== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139926== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139926== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139926== by 0x49AA555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139926== by 0x49AA555: __gconv_read_conf (gconv_conf.c:480) ==139926== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139926== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139926== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139926== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139926== by 0x49B5142: setlocale (setlocale.c:337) ==139926== by 0x400106B: main (first.c:135) ==139926== ==139926== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139926== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139926== by 0x4A97FA5: __tsearch (tsearch.c:337) ==139926== by 0x4A97FA5: tsearch (tsearch.c:290) ==139926== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==139926== by 0x49AA74A: add_alias2 (gconv_conf.c:105) ==139926== by 0x49AA74A: __gconv_read_conf (gconv_conf.c:508) ==139926== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139926== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139926== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139926== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139926== by 0x49B5142: setlocale (setlocale.c:337) ==139926== by 0x400106B: main (first.c:135) ==139926== ==139926== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139926== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139926== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==139926== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139926== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139926== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139926== by 0x49AA555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139926== by 0x49AA555: __gconv_read_conf (gconv_conf.c:480) ==139926== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139926== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139926== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139926== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139926== by 0x49B5142: setlocale (setlocale.c:337) ==139926== by 0x400106B: main (first.c:135) ==139926== ==139926== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139926== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139926== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==139926== by 0x49AA74A: add_alias2 (gconv_conf.c:105) ==139926== by 0x49AA74A: __gconv_read_conf (gconv_conf.c:508) ==139926== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139926== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139926== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139926== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139926== by 0x49B5142: setlocale (setlocale.c:337) ==139926== by 0x400106B: main (first.c:135) ==139926== ==139926== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139926== at 0x4855C13: calloc (vg_replace_malloc.c:1675) ==139926== by 0x491E603: Curl_open (url.c:517) ==139926== by 0x48992AF: curl_easy_init (easy.c:377) ==139926== by 0x4001153: UnknownInlinedFun (lib666.c:52) ==139926== by 0x4001153: main (first.c:196) ==139926== ==139926== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139926== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139926== by 0x4A97FA5: __tsearch (tsearch.c:337) ==139926== by 0x4A97FA5: tsearch (tsearch.c:290) ==139926== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==139926== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139926== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139926== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139926== by 0x49AA775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139926== by 0x49AA775: __gconv_read_conf (gconv_conf.c:480) ==139926== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139926== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139926== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139926== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139926== by 0x49B5142: setlocale (setlocale.c:337) ==139926== by 0x400106B: main (first.c:135) ==139926== ==139926== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139926== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==139926== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==139926== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==139926== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==139926== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139926== by 0x49AA775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139926== by 0x49AA775: __gconv_read_conf (gconv_conf.c:480) ==139926== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139926== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139926== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==139926== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==139926== by 0x49B5142: setlocale (setlocale.c:337) ==139926== by 0x400106B: main (first.c:135) ==139926== === End of file valgrind666 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/smtp_server.pid" --logfile "log/15/smtp_server.log" --logdir "log/15" --portfile "log/15/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46061 (log/15/server/smtp_server.port) RUN: SMTP server is PID 139181 port 46061 * pid smtp => 139181 139181 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/15/valgrind648 ../src/curl -q --output log/15/curl648.out --include --trace-ascii log/15/trace648 --trace-config all --trace-time smtp://127.0.0.1:46061/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/15/test648.txt;encoder=basCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind670 ./libtest/lib670 http://127.0.0.1:36793/670 > log/21/stdout670 2> log/21/stderr670 e64" -H "From: different" -H "To: another" log/15/stdout648 2> log/15/stderr648 648: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind648 ../src/curl -q --output log/15/curl648.out --include --trace-ascii log/15/trace648 --trace-config all --trace-time smtp://127.0.0.1:46061/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/15/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/15/stdout648 2> log/15/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 20:55:18.010891 SMTP server listens on port IPv4/46061 20:55:18.010974 logged pid 139181 in log/15/server/smtp_server.pid 20:55:18.010990 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:18.232166 Running IPv4 version 20:55:18.232224 Listening on port 46061 20:55:18.232264 Wrote pid 139183 to log/15/server/smtp_sockfilt.pid 20:55:18.232295 Wrote port 46061 to log/15/server/smtp_server.port 20:55:18.232315 Received PING (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 ==140540== ==140540== Process terminating with default action of signal 4 (SIGILL) ==140540== Illegal opcode at address 0x4003082 ==140540== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140540== by 0x4003082: main (tool_main.c:243) === End of file valgrind648 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/21/valgrind670 ./libtest/lib670 http://127.0.0.1:36793/670 > log/21/stdout670 2> log/21/stderr670 670: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 670 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind670 ./libtest/lib670 http://127.0.0.1:36793/670 > log/21/stdout670 2> log/21/stderr670 === End of file commands.log === Start of file http_server.log 20:55:18.843029 ====> Client connect 20:55:18.843051 accept_connection 3 returned 4 20:55:18.843064 accept_connection 3 returned 0 20:55:18.843074 Read 93 bytes 20:55:18.843082 Process 93 bytes request 20:55:18.843090 Got request: GET /verifiedserver HTTP/1.1 20:55:18.843097 Are-we-friendly question received 20:55:18.843113 Wrote request (93 bytes) input to log/21/server.input 20:55:18.843125 Identifying ourselves as friends 20:55:18.843162 Response sent (57 bytes) and written to log/21/server.response 20:55:18.843170 special request received, no persistency 20:55:18.843176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:36793/670 === End of file stderr670 === Start of file valgrind670 ==139923== ==139923== Process terminating with default action of signal 4 (SIGILL) ==139923== Illegal opcode at address 0x491A6B3 ==139923== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==139923== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==139923== by 0x491A6B3: Curl_open (url.c:538) ==139923== by 0x48952AF: curl_easy_init (easy.c:377) ==139923== by 0x40012DE: test (lib670.c:127) ==139923== by 0x400106C: main (first.c:196) ==139923== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==139923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139923== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139923== by 0x4A93FA5: tsearch (tsearch.c:290) ==139923== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139923== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139923== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139923== by 0x49B1142: setlocale (setlocale.c:337) ==139923== by 0x4001041: main (first.c:135) ==139923== ==139923== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==139923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139923== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139923== by 0x4A93FA5: tsearch (tsearch.c:290) ==139923== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139923== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==139923== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139923== by 0x49B1142: setlocale (setlocale.c:337) ==139923== by 0x4001041: main (first.c:135) ==139923== ==139923== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==139923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139923== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139923== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==139923== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==139923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139923== by 0x49B1142: setlocale (setlocale.c:337) ==139923== by 0x4001041: main (first.c:135) ==139923== ==139923== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==139923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139923== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139923== by 0x49A674A: add_alias2 (gconv_conf.c:105)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind671 ./libtest/lib671 http://127.0.0.1:38539/671 > log/23/stdout671 2> log/23/stderr671 CMD (33792): ../libtool --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/valgrind647 ../src/curl -q --output log/6/curl647.out --include --trace-ascii log/6/trace647 --trace-config all --trace-time imap://127.0.0.1:43535/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/6/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/6/stdout647 2> log/6/stderr647 ==139923== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==139923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139923== by 0x49B1142: setlocale (setlocale.c:337) ==139923== by 0x4001041: main (first.c:135) ==139923== ==139923== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==139923== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==139923== by 0x491A603: Curl_open (url.c:517) ==139923== by 0x48952AF: curl_easy_init (easy.c:377) ==139923== by 0x40012DE: test (lib670.c:127) ==139923== by 0x400106C: main (first.c:196) ==139923== ==139923== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==139923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139923== by 0x4A93FA5: __tsearch (tsearch.c:337) ==139923== by 0x4A93FA5: tsearch (tsearch.c:290) ==139923== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==139923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139923== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139923== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139923== by 0x49B1142: setlocale (setlocale.c:337) ==139923== by 0x4001041: main (first.c:135) ==139923== ==139923== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==139923== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==139923== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==139923== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==139923== by 0x49A63F0: add_alias (gconv_conf.c:178) ==139923== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==139923== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==139923== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==139923== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==139923== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==139923== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==139923== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==139923== by 0x49B1142: setlocale (setlocale.c:337) ==139923== by 0x4001041: main (first.c:135) ==139923== === 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/23/valgrind671 ./libtest/lib671 http://127.0.0.1:38539/671 > log/23/stdout671 2> log/23/stderr671 671: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 671 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind671 ./libtest/lib671 http://127.0.0.1:38539/671 > log/23/stdout671 2> log/23/stderr671 === End of file commands.log === Start of file http_server.log 20:55:18.854847 ====> Client connect 20:55:18.854871 accept_connection 3 returned 4 20:55:18.854884 accept_connection 3 returned 0 20:55:18.854895 Read 93 bytes 20:55:18.854903 Process 93 bytes request 20:55:18.854913 Got request: GET /verifiedserver HTTP/1.1 20:55:18.854920 Are-we-friendly question received 20:55:18.854937 Wrote request (93 bytes) input to log/23/server.input 20:55:18.854949 Identifying ourselves as friends 20:55:18.854987 Response sent (57 bytes) and written to log/23/server.response 20:55:18.854994 special request received, no persistency 20:55:18.855001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:38539/671 === End of file stderr671 === Start of file valgrind671 ==140007== ==140007== Process terminating with default action of signal 4 (SIGILL) ==140007== Illegal opcode at address 0x491A6B3 ==140007== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==140007== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==140007== by 0x491A6B3: Curl_open (url.c:538) ==140007== by 0x48952AF: curl_easy_init (easy.c:377) ==140007== by 0x40010A0: UnknownInlinedFun (lib670.c:127) ==140007== by 0x40010A0: main (first.c:196) ==140007== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==140007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140007== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140007== by 0x4A93FA5: tsearch (tsearch.c:290) ==140007== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140007== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140007== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140007== by 0x49B1142: setlocale (setlocale.c:337) ==140007== by 0x4001052: main (first.c:135) ==140007== ==140007== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==140007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140007== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140007== by 0x4A93FA5: tsearch (tsearch.c:290) ==140007== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140007== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140007== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140007== by 0x49B1142: setlocale (setlocale.c:337) ==140007== by 0x4001052: main (first.c:135) ==140007== ==140007== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==140007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140007== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140007== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140007== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140007== by 0x4A16CB3: __pthread_once_slow.isra.0 (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/1/valgrind672 ./libtest/lib672 http://127.0.0.1:42503/672 > log/1/stdout672 2> log/1/stderr672 .c:116) ==140007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140007== by 0x49B1142: setlocale (setlocale.c:337) ==140007== by 0x4001052: main (first.c:135) ==140007== ==140007== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==140007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140007== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140007== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140007== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140007== by 0x49B1142: setlocale (setlocale.c:337) ==140007== by 0x4001052: main (first.c:135) ==140007== ==140007== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==140007== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==140007== by 0x491A603: Curl_open (url.c:517) ==140007== by 0x48952AF: curl_easy_init (easy.c:377) ==140007== by 0x40010A0: UnknownInlinedFun (lib670.c:127) ==140007== by 0x40010A0: main (first.c:196) ==140007== ==140007== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==140007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140007== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140007== by 0x4A93FA5: tsearch (tsearch.c:290) ==140007== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140007== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140007== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140007== by 0x49B1142: setlocale (setlocale.c:337) ==140007== by 0x4001052: main (first.c:135) ==140007== ==140007== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==140007== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140007== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140007== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140007== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140007== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140007== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140007== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140007== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140007== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140007== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140007== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140007== by 0x49B1142: setlocale (setlocale.c:337) ==140007== by 0x4001052: main (first.c:135) ==140007== === End of file valgrind671 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 43535 (log/6/server/imap_server.port) RUN: IMAP server is PID 139180 port 43535 * pid imap => 139180 139180 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/6/valgrind647 ../src/curl -q --output log/6/curl647.out --include --trace-ascii log/6/trace647 --trace-config all --trace-time imap://127.0.0.1:43535/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/6/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/6/stdout647 2> log/6/stderr647 647: 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 647 === Start of file commands.log ../libtool --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/valgrind647 ../src/curl -q --output log/6/curl647.out --include --trace-ascii log/6/trace647 --trace-config all --trace-time imap://127.0.0.1:43535/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/6/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/6/stdout647 2> log/6/stderr647 === End of file commands.log === Start of file imap_server.log 20:55:18.000048 IMAP server listens on port IPv4/43535 20:55:18.000093 logged pid 139180 in log/6/server/imap_server.pid 20:55:18.000107 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:17.221396 Running IPv4 version 20:55:17.221439 Listening on port 43535 20:55:17.221466 Wrote pid 139182 to log/6/server/imap_sockfilt.pid 20:55:17.221485 Wrote port 43535 to log/6/server/imap_server.port 20:55:17.221496 Received PING (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 ==140524== ==140524== Process terminating with default action of signal 4 (SIGILL) ==140524== Illegal opcode at address 0x4003082 ==140524== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140524== by 0x4003082: main (tool_main.c:243) === End of file valgrind647 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/1/valgrind672 ./libtest/lib672 http://127.0.0.1:42503/672 > log/1/stdout672 2> log/1/stderr672 672: 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 672 === Start of file commands.log ../libtool --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/valgrind672 ./libtest/lib672 http://127.0.0.1:42503/672 > log/1/stdout672 2> log/1/stderr672 === End of file commands.log === Start of file http_server.log 20:55:18.896347 ====> Client connect 20:55:18.896378 accept_connection 3 returned 4 20:55:18.896395 accept_connection 3 returned 0 20:55:18.896412 Read 93 bytes 20:55:18.896422 Process 93 bytes request 20:55:18.896441 Got request: GET /verifiedserver HTTP/1.1 20:55:18.896451 Are-we-friendly question received 20:55:18.896474 Wrote request (93 bytes) input to log/1/server.input 20:55:18.896491 Identifying ourselves as friends 20:55:18.896545 Response sent (57 bytes) and written to log/1/server.response 20:55:18.896554 special request received, no persisCMD (33792): ../libtool --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:46877/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 tency 20:55:18.896563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42503... * Connected to 127.0.0.1 (127.0.0.1) port 42503 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42503 > User-Agent: curl/8.14.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: 104816 === 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: 18 WE ROOLZ: 104816 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:42503/672 === End of file stderr672 === Start of file valgrind672 ==140211== ==140211== Process terminating with default action of signal 4 (SIGILL) ==140211== Illegal opcode at address 0x491A6B3 ==140211== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==140211== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==140211== by 0x491A6B3: Curl_open (url.c:538) ==140211== by 0x48952AF: curl_easy_init (easy.c:377) ==140211== by 0x40012FC: test (lib670.c:127) ==140211== by 0x400106C: main (first.c:196) ==140211== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==140211== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140211== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140211== by 0x4A93FA5: tsearch (tsearch.c:290) ==140211== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140211== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140211== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140211== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140211== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140211== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140211== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140211== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140211== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140211== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140211== by 0x49B1142: setlocale (setlocale.c:337) ==140211== by 0x4001041: main (first.c:135) ==140211== ==140211== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==140211== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140211== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140211== by 0x4A93FA5: tsearch (tsearch.c:290) ==140211== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140211== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140211== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140211== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140211== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140211== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140211== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140211== by 0x49B1142: setlocale (setlocale.c:337) ==140211== by 0x4001041: main (first.c:135) ==140211== ==140211== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==140211== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140211== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140211== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140211== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140211== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140211== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140211== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140211== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140211== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140211== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140211== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140211== by 0x49B1142: setlocale (setlocale.c:337) ==140211== by 0x4001041: main (first.c:135) ==140211== ==140211== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==140211== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140211== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140211== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140211== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140211== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140211== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140211== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140211== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140211== by 0x49B1142: setlocale (setlocale.c:337) ==140211== by 0x4001041: main (first.c:135) ==140211== ==140211== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==140211== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==140211== by 0x491A603: Curl_open (url.c:517) ==140211== by 0x48952AF: curl_easy_init (easy.c:377) ==140211== by 0x40012FC: test (lib670.c:127) ==140211== by 0x400106C: main (first.c:196) ==140211== ==140211== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==140211== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140211== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140211== by 0x4A93FA5: tsearch (tsearch.c:290) ==140211== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140211== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140211== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140211== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140211== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140211== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140211== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140211== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140211== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140211== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140211== by 0x49B1142: setlocale (setlocale.c:337) ==140211== by 0x4001041: main (first.c:135) ==140211== ==140211== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==140211== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140211== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140211== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140211== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140211== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140211== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140211== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140211== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140211== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140211== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140211== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140211== by 0x49B1142: setlocale (setlocale.c:337) ==140211== by 0x4001041: main (first.c:135) ==140211== === End of file valgrind672 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 46877 (log/3/server/smtp_server.port) RUN: SMTP server is PID 139184 port 46877 * pid smtp => 139184 139184 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:46877/649 --mail-rcpt recipient@example.com --mail-froCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind680 ../src/curl -q --output log/22/curl680.out --include --trace-ascii log/22/trace680 --trace-config all --trace-time --netrc --netrc-file log/22/netrc680 http://user1@http.example/ > log/22/stdout680 2> log/22/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/20/valgrind673 ./libtest/lib673 http://127.0.0.1:41293/673 > log/20/stdout673 2> log/20/stderr673 CMD (33792): ../libtool --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/valgrind679 ../src/curl -q --output log/5/curl679.out --include --trace-ascii log/5/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/5/netrc679 http://127.0.0.1:33725/ > log/5/stdout679 2> log/5/stderr679 m 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 commands.log ../libtool --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:46877/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 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 20:55:18.102989 SMTP server listens on port IPv4/46877 20:55:18.103070 logged pid 139184 in log/3/server/smtp_server.pid 20:55:18.103093 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:18.324268 Running IPv4 version 20:55:18.324326 Listening on port 46877 20:55:18.324364 Wrote pid 139185 to log/3/server/smtp_sockfilt.pid 20:55:18.324394 Wrote port 46877 to log/3/server/smtp_server.port 20:55:18.324415 Received PING (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 ==140647== ==140647== Process terminating with default action of signal 4 (SIGILL) ==140647== Illegal opcode at address 0x4003082 ==140647== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140647== by 0x4003082: main (tool_main.c:243) === End of file valgrind649 * 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/22/valgrind680 ../src/curl -q --output log/22/curl680.out --include --trace-ascii log/22/trace680 --trace-config all --trace-time --netrc --netrc-file log/22/netrc680 http://user1@http.example/ > log/22/stdout680 2> log/22/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/22/ dir after test 680 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind680 ../src/curl -q --output log/22/curl680.out --include --trace-ascii log/22/trace680 --trace-config all --trace-time --netrc --netrc-file log/22/netrc680 http://user1@http.example/ > log/22/stdout680 2> log/22/stderr680 === End of file commands.log === 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 ==140749== ==140749== Process terminating with default action of signal 4 (SIGILL) ==140749== Illegal opcode at address 0x4003082 ==140749== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140749== by 0x4003082: main (tool_main.c:243) === End of file valgrind680 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/20/valgrind673 ./libtest/lib673 http://127.0.0.1:41293/673 > log/20/stdout673 2> log/20/stderr673 673: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 673 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind673 ./libtest/lib673 http://127.0.0.1:41293/673 > log/20/stdout673 2> log/20/stderr673 === End of file commands.log === Start of file http_server.log 20:55:19.006040 ====> Client connect 20:55:19.006071 accept_connection 3 returned 4 20:55:19.006088 accept_connection 3 returned 0 20:55:19.006102 Read 93 bytes 20:55:19.006112 Process 93 bytes request 20:55:19.006123 Got request: GET /verifiedserver HTTP/1.1 20:55:19.006132 Are-we-friendly question received 20:55:19.006156 Wrote request (93 bytes) input to log/20/server.input 20:55:19.006171 Identifying ourselves as friends 20:55:19.006228 Response sent (57 bytes) and written to log/20/server.response 20:55:19.006238 special request received, no persistency 20:55:19.006248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === End of file http_verify.out === Start of file server.cmd Testnum 673 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104795 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:41293/673 === End of file stderr673 === Start of file valgrind673 ==140330== ==140330== Process terminating with default action of signal 4 (SIGILL) ==140330== Illegal opcode at address 0x491A6B3 ==140330== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==140330== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==140330== by 0x491A6B3: Curl_open (url.c:538) ==140330== by 0x48952AF: curl_easy_init (easy.c:377) ==140330== by 0x40010AD: UnknownInlinedFun (lib670.c:127) ==140330== by 0x40010AD: main (first.c:196) ==140330== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==140330== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140330== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140330== by 0x4A93FA5: tsearch (tsearch.c:290) ==140330== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140330== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140330== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140330== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140330== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140330== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140330== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140330== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140330== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140330== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140330== by 0x49B1142: setlocale (setlocale.c:337) ==140330== by 0x4001052: main (first.c:135) ==140330== ==140330== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==140330== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140330== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140330== by 0x4A93FA5: tsearch (tsearch.c:290) ==140330== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140330== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140330== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140330== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140330== by 0x4A16D28: pthread_once@@GLIBC_2.34CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind674 ./libtest/lib674 http://127.0.0.1:34637/674 > log/18/stdout674 2> log/18/stderr674 (pthread_once.c:143) ==140330== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140330== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140330== by 0x49B1142: setlocale (setlocale.c:337) ==140330== by 0x4001052: main (first.c:135) ==140330== ==140330== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==140330== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140330== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140330== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140330== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140330== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140330== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140330== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140330== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140330== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140330== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140330== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140330== by 0x49B1142: setlocale (setlocale.c:337) ==140330== by 0x4001052: main (first.c:135) ==140330== ==140330== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==140330== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140330== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140330== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140330== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140330== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140330== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140330== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140330== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140330== by 0x49B1142: setlocale (setlocale.c:337) ==140330== by 0x4001052: main (first.c:135) ==140330== ==140330== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==140330== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==140330== by 0x491A603: Curl_open (url.c:517) ==140330== by 0x48952AF: curl_easy_init (easy.c:377) ==140330== by 0x40010AD: UnknownInlinedFun (lib670.c:127) ==140330== by 0x40010AD: main (first.c:196) ==140330== ==140330== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==140330== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140330== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140330== by 0x4A93FA5: tsearch (tsearch.c:290) ==140330== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140330== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140330== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140330== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140330== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140330== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140330== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140330== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140330== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140330== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140330== by 0x49B1142: setlocale (setlocale.c:337) ==140330== by 0x4001052: main (first.c:135) ==140330== ==140330== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==140330== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140330== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140330== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140330== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140330== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140330== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140330== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140330== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140330== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140330== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140330== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140330== by 0x49B1142: setlocale (setlocale.c:337) ==140330== by 0x4001052: main (first.c:135) ==140330== === End of file valgrind673 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/5/valgrind679 ../src/curl -q --output log/5/curl679.out --include --trace-ascii log/5/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/5/netrc679 http://127.0.0.1:33725/ > log/5/stdout679 2> log/5/stderr679 679: 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 679 === Start of file commands.log ../libtool --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/valgrind679 ../src/curl -q --output log/5/curl679.out --include --trace-ascii log/5/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/5/netrc679 http://127.0.0.1:33725/ > log/5/stdout679 2> log/5/stderr679 === End of file commands.log === Start of file http_server.log 20:55:19.342586 ====> Client connect 20:55:19.342615 accept_connection 3 returned 4 20:55:19.342632 accept_connection 3 returned 0 20:55:19.342645 Read 93 bytes 20:55:19.342655 Process 93 bytes request 20:55:19.342666 Got request: GET /verifiedserver HTTP/1.1 20:55:19.342675 Are-we-friendly question received 20:55:19.342697 Wrote request (93 bytes) input to log/5/server.input 20:55:19.342713 Identifying ourselves as friends 20:55:19.342764 Response sent (57 bytes) and written to log/5/server.response 20:55:19.342774 special request received, no persistency 20:55:19.342783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind679 ==140742== ==140742== Process terminating with default action of signal 4 (SIGILL) ==140742== Illegal opcode at address 0x4003082 ==140742== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140742== by 0x4003082: main (tool_main.c:243) === End of file valgrind679 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/18/valgrind674 ./libtest/lib674 http://127.0.0.1:34637/674 > log/18/stdout674 2> log/18/stderr674 674: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 674 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind674 ./libtest/lib674 http://127.0.0.1:34637/674 > log/18/stdout674 2> log/18/stderr674 === End of file commands.log === Start of file http_server.log 20:55:19.036210 ====> Client connect 20:55:19.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/9/valgrind681 ../src/curl -q --trace-ascii log/9/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:46863/681 > log/9/stdout681 2> log/9/stderr681 36241 accept_connection 3 returned 4 20:55:19.036258 accept_connection 3 returned 0 20:55:19.036273 Read 93 bytes 20:55:19.036283 Process 93 bytes request 20:55:19.036295 Got request: GET /verifiedserver HTTP/1.1 20:55:19.036304 Are-we-friendly question received 20:55:19.036325 Wrote request (93 bytes) input to log/18/server.input 20:55:19.036340 Identifying ourselves as friends 20:55:19.036398 Response sent (57 bytes) and written to log/18/server.response 20:55:19.036408 special request received, no persistency 20:55:19.036417 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:34637/674 === End of file stderr674 === Start of file valgrind674 ==140405== ==140405== Process terminating with default action of signal 4 (SIGILL) ==140405== Illegal opcode at address 0x491A6B3 ==140405== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==140405== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==140405== by 0x491A6B3: Curl_open (url.c:538) ==140405== by 0x48952AF: curl_easy_init (easy.c:377) ==140405== by 0x4001087: UnknownInlinedFun (lib674.c:43) ==140405== by 0x4001087: UnknownInlinedFun (lib674.c:34) ==140405== by 0x4001087: main (first.c:196) ==140405== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==140405== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140405== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140405== by 0x4A93FA5: tsearch (tsearch.c:290) ==140405== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140405== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140405== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140405== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140405== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140405== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140405== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140405== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140405== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140405== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140405== by 0x49B1142: setlocale (setlocale.c:337) ==140405== by 0x4001045: main (first.c:135) ==140405== ==140405== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==140405== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140405== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140405== by 0x4A93FA5: tsearch (tsearch.c:290) ==140405== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140405== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140405== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140405== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140405== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140405== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140405== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140405== by 0x49B1142: setlocale (setlocale.c:337) ==140405== by 0x4001045: main (first.c:135) ==140405== ==140405== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==140405== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140405== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140405== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140405== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140405== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140405== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140405== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140405== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140405== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140405== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140405== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140405== by 0x49B1142: setlocale (setlocale.c:337) ==140405== by 0x4001045: main (first.c:135) ==140405== ==140405== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==140405== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140405== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140405== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140405== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140405== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140405== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140405== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140405== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140405== by 0x49B1142: setlocale (setlocale.c:337) ==140405== by 0x4001045: main (first.c:135) ==140405== ==140405== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==140405== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==140405== by 0x491A603: Curl_open (url.c:517) ==140405== by 0x48952AF: curl_easy_init (easy.c:377) ==140405== by 0x4001087: UnknownInlinedFun (lib674.c:43) ==140405== by 0x4001087: UnknownInlinedFun (lib674.c:34) ==140405== by 0x4001087: main (first.c:196) ==140405== ==140405== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==140405== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140405== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140405== by 0x4A93FA5: tsearch (tsearch.c:290) ==140405== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140405== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140405== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140405== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140405== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140405== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140405== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140405== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140405== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140405== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140405== by 0x49B1142: setlocale (setlocale.c:337) ==140405== by 0x4001045: main (first.c:135) ==140405== ==140405== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==140405== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140405== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140405== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140405== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140405== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140405== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140405== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140405== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140405== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140405== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140405== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140405== by 0x49B1142: setlocale (setlocale.c:337) ==140405== by 0x4001045: main (first.c:135) ==140405== === End of file valgrind674 CMD (33792): ../libtool --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:39141/ > log/7/stdout682 2> log/7/stderr682 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind686 ../src/curl -q --output log/17/curl686.out --include --trace-ascii log/17/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/17/stdout686 2> log/17/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/13/valgrind683 ../src/curl -q --output log/13/curl683.out --include --trace-ascii log/13/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/13/netrc683 http://user2@127.0.0.1:44987/ > log/13/stdout683 2> log/13/stderr683 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/9/valgrind681 ../src/curl -q --trace-ascii log/9/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:46863/681 > log/9/stdout681 2> log/9/stderr681 681: stdout FAILED: --- log/9/check-expected 2025-06-04 20:55:19.846365783 +0000 +++ log/9/check-generated 2025-06-04 20:55:19.846365783 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/9/ dir after test 681 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind681 ../src/curl -q --trace-ascii log/9/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:46863/681 > log/9/stdout681 2> log/9/stderr681 === End of file commands.log === Start of file http_server.log 20:55:19.493761 ====> Client connect 20:55:19.493789 accept_connection 3 returned 4 20:55:19.493806 accept_connection 3 returned 0 20:55:19.493819 Read 93 bytes 20:55:19.493829 Process 93 bytes request 20:55:19.493842 Got request: GET /verifiedserver HTTP/1.1 20:55:19.493851 Are-we-friendly question received 20:55:19.493911 Wrote request (93 bytes) input to log/9/server.input 20:55:19.493929 Identifying ourselves as friends 20:55:19.493989 Response sent (57 bytes) and written to log/9/server.response 20:55:19.493999 special request received, no persistency 20:55:19.494008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind681 ==140992== ==140992== Process terminating with default action of signal 4 (SIGILL) ==140992== Illegal opcode at address 0x4003082 ==140992== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==140992== by 0x4003082: main (tool_main.c:243) === End of file valgrind681 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:39141/ > 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 commands.log ../libtool --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:39141/ > log/7/stdout682 2> log/7/stderr682 === End of file commands.log === Start of file http_server.log 20:55:19.503185 ====> Client connect 20:55:19.503219 accept_connection 3 returned 4 20:55:19.503235 accept_connection 3 returned 0 20:55:19.503249 Read 93 bytes 20:55:19.503258 Process 93 bytes request 20:55:19.503272 Got request: GET /verifiedserver HTTP/1.1 20:55:19.503281 Are-we-friendly question received 20:55:19.503306 Wrote request (93 bytes) input to log/7/server.input 20:55:19.503322 Identifying ourselves as friends 20:55:19.503374 Response sent (57 bytes) and written to log/7/server.response 20:55:19.503384 special request received, no persistency 20:55:19.503393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind682 ==141011== ==141011== Process terminating with default action of signal 4 (SIGILL) ==141011== Illegal opcode at address 0x4003082 ==141011== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141011== by 0x4003082: main (tool_main.c:243) === End of file valgrind682 * 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/17/valgrind686 ../src/curl -q --output log/17/curl686.out --include --trace-ascii log/17/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/17/stdout686 2> log/17/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/17/ dir after test 686 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind686 ../src/curl -q --output log/17/curl686.out --include --trace-ascii log/17/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/17/stdout686 2> log/17/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==141181== ==141181== Process terminating with default action of signal 4 (SIGILL) ==141181== Illegal opcode at address 0x4003082 ==141181== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141181== by 0x4003082: main (tool_main.c:243) === End of file valgrind686 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/13/valgrind683 ../src/curl -q --output log/13/curl683.out --include --trace-ascii log/13/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/13/netrc683 http://user2@127.0.0.1:44987/ > log/13/stdout683 2> log/13/stderr683 683: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind683 ../src/curl -q --output log/13/curl683.out --include --trace-ascii log/13/trace683 --trace-config all --trace-time --netrc-optiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind684 ../src/curl -q --output log/19/curl684.out --include --trace-ascii log/19/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/19/netrc684 http://127.0.0.1:46549/ > log/19/stdout684 2> log/19/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/12/valgrind685 ../src/curl -q --output log/12/curl685.out --include --trace-ascii log/12/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/12/netrc685 http://user@127.0.0.1:33337/ > log/12/stdout685 2> log/12/stderr685 onal --netrc-file log/13/netrc683 http://user2@127.0.0.1:44987/ > log/13/stdout683 2> log/13/stderr683 === End of file commands.log === Start of file http_server.log 20:55:19.503231 ====> Client connect 20:55:19.503261 accept_connection 3 returned 4 20:55:19.503279 accept_connection 3 returned 0 20:55:19.503291 Read 93 bytes 20:55:19.503300 Process 93 bytes request 20:55:19.503310 Got request: GET /verifiedserver HTTP/1.1 20:55:19.503319 Are-we-friendly question received 20:55:19.503342 Wrote request (93 bytes) input to log/13/server.input 20:55:19.503358 Identifying ourselves as friends 20:55:19.503409 Response sent (57 bytes) and written to log/13/server.response 20:55:19.503418 special request received, no persistency 20:55:19.503427 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file valgrind683 ==141012== ==141012== Process terminating with default action of signal 4 (SIGILL) ==141012== Illegal opcode at address 0x4003082 ==141012== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141012== by 0x4003082: main (tool_main.c:243) === 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/19/valgrind684 ../src/curl -q --output log/19/curl684.out --include --trace-ascii log/19/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/19/netrc684 http://127.0.0.1:46549/ > log/19/stdout684 2> log/19/stderr684 684: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 684 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind684 ../src/curl -q --output log/19/curl684.out --include --trace-ascii log/19/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/19/netrc684 http://127.0.0.1:46549/ > log/19/stdout684 2> log/19/stderr684 === End of file commands.log === Start of file http_server.log 20:55:19.545187 ====> Client connect 20:55:19.545218 accept_connection 3 returned 4 20:55:19.545236 accept_connection 3 returned 0 20:55:19.545250 Read 93 bytes 20:55:19.545260 Process 93 bytes request 20:55:19.545273 Got request: GET /verifiedserver HTTP/1.1 20:55:19.545283 Are-we-friendly question received 20:55:19.545308 Wrote request (93 bytes) input to log/19/server.input 20:55:19.545329 Identifying ourselves as friends 20:55:19.545402 Response sent (57 bytes) and written to log/19/server.response 20:55:19.545413 special request received, no persistency 20:55:19.545421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind684 ==141173== ==141173== Process terminating with default action of signal 4 (SIGILL) ==141173== Illegal opcode at address 0x4003082 ==141173== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141173== by 0x4003082: main (tool_main.c:243) === End of file valgrind684 CMD (33792): ../libtool --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/valgrind690 ../src/curl -q --include --trace-ascii log/2/trace690 --trace-config all --trace-time http://127.0.0.1:43815/ -O --output-dir log/2 > log/2/stdout690 2> log/2/stderr690 CMD (33792): ../libtool --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/valgrind691 ../src/curl -q --include --trace-ascii log/8/trace691 --trace-config all --trace-time http://127.0.0.1:35791/path/to/here/ -O --output-dir log/8 > log/8/stdout691 2> log/8/stderr691 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/12/valgrind685 ../src/curl -q --output log/12/curl685.out --include --trace-ascii log/12/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/12/netrc685 http://user@127.0.0.1:33337/ > log/12/stdout685 2> log/12/stderr685 685: data FAILED: --- log/12/check-expected 2025-06-04 20:55:19.896365785 +0000 +++ log/12/check-generated 2025-06-04 20:55:19.896365785 +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/12/ 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 commands.log ../libtool --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/valgrind685 ../src/curl -q --output log/12/curl685.out --include --trace-ascii log/12/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/12/netrc685 http://user@127.0.0.1:33337/ > log/12/stdout685 2> log/12/stderr685 === End of file commands.log === Start of file http_server.log 20:55:19.547187 ====> Client connect 20:55:19.547217 accept_connection 3 returned 4 20:55:19.547235 accept_connection 3 returned 0 20:55:19.547247 Read 93 bytes 20:55:19.547257 Process 93 bytes request 20:55:19.547268 Got request: GET /verifiedserver HTTP/1.1 20:55:19.547277 Are-we-friendly question received 20:55:19.547301 Wrote request (93 bytes) input to log/12/server.input 20:55:19.547316 Identifying ourselves as friends 20:55:19.547366 Response sent (57 bytes) and written to log/12/server.response 20:55:19.547375 special request received, no persistency 20:55:19.547384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind685 ==141179== ==141179== Process terminating with default action of signal 4 (SIGILL) ==141179== Illegal opcode at address 0x4003082 ==141179== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141179== by 0x4003082: main (tool_main.c:243) === End of file valgrind685 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/2/valgrind690 ../src/curl -q --include --trace-ascii log/2/trace690 --trace-config all --trace-time http://127.0.0.1:43815/ -O --output-dir log/2 > log/2/stdout690 2> log/2/stderr690 690: 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 690 === Start of file commands.log ../libtool --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/valgrind690 ../src/curl -q --include --trace-ascii log/2/trace690 --trace-config all --trace-time http://127.0.0.1:43815/ -O --output-dir log/2 > log/2/stdout690 2> log/2/stderr690 === End of file commands.log === Start of file http_server.log 20:55:19.726498 ====> Client connect 20:55:19.726527 accept_connection 3 returned 4 20:55:19.726544 accept_connection 3 returned 0 20:55:19.726557 Read 93 bytes 20:55:19.726567 Process 93 bytes request 20:55:19.726577 Got request: GET /verifiedserver HTTP/1.1 20:55:19.726586 Are-we-friendly question received 20:55:19.726610 Wrote request (93 bytes) input to log/2/server.input 20:55:19.726625 Identifying ourselves as friends 20:55:19.726673 Response sent (57 bytes) and written to log/2/server.response 20:55:19.726682 special request received, no persistency 20:55:19.726691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind690 ==141482== ==141482== Process terminating with default action of signal 4 (SIGILL) ==141482== Illegal opcode at address 0x4003082 ==141482== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141482== by 0x4003082: main (tool_main.c:243) === End of file valgrind690 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/8/valgrind691 ../src/curl -q --include --trace-ascii log/8/trace691 --trace-config all --trace-time http://127.0.0.1:35791/path/to/here/ -O --output-dir log/8 > log/8/stdout691 2> log/8/stderr691 691: 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 691 === Start of file commands.log ../libtool --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/valgrind691 ../src/curl -q --include --trace-ascii log/8/trace691 --trace-config all --trace-time http://127.0.0.1:35791/path/to/here/ -O --output-dir log/8 > log/8/stdout691 2> log/8/stderr691 === End of file commands.log === Start of file http_server.log 20:55:19.725663 ====> Client connect 20:55:19.725688 accept_connection 3 returned 4 20:55:19.725701 accept_connection 3 returned 0 20:55:19.725713 Read 93 bytes 20:55:19.725721 Process 93 bytes request 20:55:19.725730 Got request: GET /verifiedserver HTTP/1.1 20:55:19.725738 Are-we-friendly question received 20:55:19.725755 Wrote request (93 bytes) input to log/8/server.input 20:55:19.725767 Identifying ourselves as friends 20:55:19.725805 Response sent (57 bytes) and written to log/8/server.response 20:55:19.725812 special request received, no persistency 20:55:19.725819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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_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/16/valgrind676 ./libtest/lib676 http://127.0.0.1:33409/we/want/676 log/16/cookies676 > log/16/stdout676 2> log/16/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/11/valgrind652 ./libtest/lib652 smtp://127.0.0.1:36853/652 > log/11/stdout652 2> log/11/stderr652 erify.log === Start of file http_verify.out WE ROOLZ: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind691 ==141478== ==141478== Process terminating with default action of signal 4 (SIGILL) ==141478== Illegal opcode at address 0x4003082 ==141478== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141478== by 0x4003082: main (tool_main.c:243) === End of file valgrind691 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/16/valgrind676 ./libtest/lib676 http://127.0.0.1:33409/we/want/676 log/16/cookies676 > log/16/stdout676 2> log/16/stderr676 676: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 676 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind676 ./libtest/lib676 http://127.0.0.1:33409/we/want/676 log/16/cookies676 > log/16/stdout676 2> log/16/stderr676 === End of file commands.log === 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 20:55:19.331058 ====> Client connect 20:55:19.331093 accept_connection 3 returned 4 20:55:19.331111 accept_connection 3 returned 0 20:55:19.331126 Read 93 bytes 20:55:19.331136 Process 93 bytes request 20:55:19.331149 Got request: GET /verifiedserver HTTP/1.1 20:55:19.331159 Are-we-friendly question received 20:55:19.331184 Wrote request (93 bytes) input to log/16/server.input 20:55:19.331201 Identifying ourselves as friends 20:55:19.331257 Response sent (57 bytes) and written to log/16/server.response 20:55:19.331267 special request received, no persistency 20:55:19.331277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === 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: 18 WE ROOLZ: 104803 === End of file server.response === Start of file stderr676 URL: http://127.0.0.1:33409/we/want/676 === End of file stderr676 === Start of file valgrind676 ==140723== ==140723== Process terminating with default action of signal 4 (SIGILL) ==140723== Illegal opcode at address 0x491A6B3 ==140723== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==140723== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==140723== by 0x491A6B3: Curl_open (url.c:538) ==140723== by 0x48952AF: curl_easy_init (easy.c:377) ==140723== by 0x4001092: UnknownInlinedFun (lib676.c:38) ==140723== by 0x4001092: main (first.c:196) ==140723== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==140723== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140723== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140723== by 0x4A93FA5: tsearch (tsearch.c:290) ==140723== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140723== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140723== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140723== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140723== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140723== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140723== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140723== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140723== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140723== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140723== by 0x49B1142: setlocale (setlocale.c:337) ==140723== by 0x4001041: main (first.c:135) ==140723== ==140723== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==140723== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140723== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140723== by 0x4A93FA5: tsearch (tsearch.c:290) ==140723== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140723== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140723== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140723== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140723== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140723== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140723== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140723== by 0x49B1142: setlocale (setlocale.c:337) ==140723== by 0x4001041: main (first.c:135) ==140723== ==140723== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==140723== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140723== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140723== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140723== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140723== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140723== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140723== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==140723== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140723== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140723== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140723== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140723== by 0x49B1142: setlocale (setlocale.c:337) ==140723== by 0x4001041: main (first.c:135) ==140723== ==140723== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==140723== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140723== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140723== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==140723== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==140723== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140723== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140723== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140723== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140723== by 0x49B1142: setlocale (setlocale.c:337) ==140723== by 0x4001041: main (first.c:135) ==140723== ==140723== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==140723== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==140723== by 0x491A603: Curl_open (url.c:517) ==140723== by 0x48952AF: curl_easy_init (easy.c:377) ==140723== by 0x4001092: UnknownInlinedFun (lib676.c:38) ==140723== by 0x4001092: main (first.c:196) ==140723== ==140723== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==140723== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140723== by 0x4A93FA5: __tsearch (tsearch.c:337) ==140723== by 0x4A93FA5: tsearch (tsearch.c:290) ==140723== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==140723== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140723== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140723== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140723== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140723== by 0x49A6775: __gconv_read_conf (gconv_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/1/valgrind697 ../src/curl -q --output log/1/curl697.out --include --trace-ascii log/1/trace697 --trace-config all --trace-time --netrc --netrc-file log/1/netrc697 http://user1@http.example/ > log/1/stdout697 2> log/1/stderr697 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind693 ../src/curl -q --output log/15/curl693.out --include --trace-ascii log/15/trace693 --trace-config all --trace-time http://127.0.0.1:39051/693 --etag-save log/15/moo/boo/etag693 --create-dirs > log/15/stdout693 2> log/15/stderr693 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind692 ../src/curl -q --trace-ascii log/14/trace692 --trace-config all --trace-time http://127.0.0.1:35661/ -JO --output-dir log/14 > log/14/stdout692 2> log/14/stderr692 c:480) ==140723== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140723== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140723== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140723== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140723== by 0x49B1142: setlocale (setlocale.c:337) ==140723== by 0x4001041: main (first.c:135) ==140723== ==140723== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==140723== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==140723== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==140723== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==140723== by 0x49A63F0: add_alias (gconv_conf.c:178) ==140723== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140723== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140723== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==140723== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140723== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140723== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==140723== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==140723== by 0x49B1142: setlocale (setlocale.c:337) ==140723== by 0x4001041: main (first.c:135) ==140723== === End of file valgrind676 * starts no server test 0697...[netrc with missing netrc 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/valgrind697 ../src/curl -q --output log/1/curl697.out --include --trace-ascii log/1/trace697 --trace-config all --trace-time --netrc --netrc-file log/1/netrc697 http://user1@http.example/ > log/1/stdout697 2> log/1/stderr697 curl returned 132, when expecting 26 697: exit FAILED == Contents of files in the log/1/ dir after test 697 === Start of file commands.log ../libtool --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/valgrind697 ../src/curl -q --output log/1/curl697.out --include --trace-ascii log/1/trace697 --trace-config all --trace-time --netrc --netrc-file log/1/netrc697 http://user1@http.example/ > log/1/stdout697 2> log/1/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==141652== ==141652== Process terminating with default action of signal 4 (SIGILL) ==141652== Illegal opcode at address 0x4003082 ==141652== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141652== by 0x4003082: main (tool_main.c:243) === End of file valgrind697 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 36853 (log/11/server/smtp_server.port) RUN: SMTP server is PID 139216 port 36853 * pid smtp => 139216 139216 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/11/valgrind652 ./libtest/lib652 smtp://127.0.0.1:36853/652 > log/11/stdout652 2> log/11/stderr652 652: 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 652 === Start of file commands.log ../libtool --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/valgrind652 ./libtest/lib652 smtp://127.0.0.1:36853/652 > log/11/stdout652 2> log/11/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 20:55:18.161424 SMTP server listens on port IPv4/36853 20:55:18.161470 logged pid 139216 in log/11/server/smtp_server.pid 20:55:18.161484 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:18.382762 Running IPv4 version 20:55:18.382809 Listening on port 36853 20:55:18.382836 Wrote pid 139297 to log/11/server/smtp_sockfilt.pid 20:55:18.382856 Wrote port 36853 to log/11/server/smtp_server.port 20:55:18.382869 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:36853/652 === End of file stderr652 === Start of file valgrind652 ==140891== ==140891== Process terminating with default action of signal 4 (SIGILL) ==140891== Illegal opcode at address 0x491E6B3 ==140891== at 0x491E6B3: UnknownInlinedFun (string_fortified.h:59) ==140891== by 0x491E6B3: UnknownInlinedFun (request.c:46) ==140891== by 0x491E6B3: Curl_open (url.c:538) ==140891== by 0x48992AF: curl_easy_init (easy.c:377) ==140891== by 0x400110D: UnknownInlinedFun (lib652.c:50) ==140891== by 0x400110D: main (first.c:196) ==140891== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==140891== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==140891== by 0x4A97FA5: __tsearch (tsearch.c:337) ==140891== by 0x4A97FA5: tsearch (tsearch.c:290) ==140891== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==140891== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==140891== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==140891== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140891== by 0x49AA555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140891== by 0x49AA555: __gconv_read_conf (gconv_conf.c:480) ==140891== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140891== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140891== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==140891== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==140891== by 0x49B5142: setlocale (setlocale.c:337) ==140891== by 0x400106B: main (first.c:135) ==140891== ==140891== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==140891== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==140891== by 0x4A97FA5: __tsearch (tsearch.c:337) ==140891== by 0x4A97FA5: tsearch (tsearch.c:290) ==140891== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==140891== by 0x49AA74A: add_alias2 (gconv_conf.c:105) ==140891== by 0x49AA74A: __gconv_read_conf (gconv_conf.c:508) ==140891== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140891== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140891== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==140891== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==140891== by 0x49B5142: setlocale (setlocale.c:337) ==140891== by 0x400106B: main (first.c:135) ==140891== ==140891== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==140891== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==140891== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==140891== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==140891== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==140891== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140891== by 0x49AA555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==140891== by 0x49AA555: __gconv_read_conf (gconv_conf.c:480) ==140891== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140891== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140891== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==140891== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==140891== by 0x49B5142: setlocale (setlocale.c:337) ==140891== by 0x400106B: main (first.c:135) ==140891== ==140891== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==140891== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==140891== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==140891== by 0x49AA74A: add_alias2 (gconv_conf.c:105) ==140891== by 0x49AA74A: __gconv_read_conf (gconv_conf.c:508) ==140891== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140891== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140891== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==140891== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==140891== by 0x49B5142: setlocale (setlocale.c:337) ==140891== by 0x400106B: main (first.c:135) ==140891== ==140891== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==140891== at 0x4855C13: calloc (vg_replace_malloc.c:1675) ==140891== by 0x491E603: Curl_open (url.c:517) ==140891== by 0x48992AF: curl_easy_init (easy.c:377) ==140891== by 0x400110D: UnknownInlinedFun (lib652.c:50) ==140891== by 0x400110D: main (first.c:196) ==140891== ==140891== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==140891== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==140891== by 0x4A97FA5: __tsearch (tsearch.c:337) ==140891== by 0x4A97FA5: tsearch (tsearch.c:290) ==140891== by 0x49AA0F4: add_alias2.part.0 (gconv_conf.c:142) ==140891== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==140891== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==140891== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140891== by 0x49AA775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140891== by 0x49AA775: __gconv_read_conf (gconv_conf.c:480) ==140891== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140891== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140891== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==140891== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==140891== by 0x49B5142: setlocale (setlocale.c:337) ==140891== by 0x400106B: main (first.c:135) ==140891== ==140891== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==140891== at 0x484E7A8: malloc (vg_replace_malloc.c:446) ==140891== by 0x49AA0A9: add_alias2.part.0 (gconv_conf.c:132) ==140891== by 0x49AA3F0: add_alias2 (gconv_conf.c:176) ==140891== by 0x49AA3F0: add_alias (gconv_conf.c:178) ==140891== by 0x49AA3F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==140891== by 0x49AA775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==140891== by 0x49AA775: __gconv_read_conf (gconv_conf.c:480) ==140891== by 0x4A1ACB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==140891== by 0x4A1AD28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==140891== by 0x49A9246: __gconv_compare_alias (gconv_db.c:692) ==140891== by 0x49B2A3D: _nl_find_locale (findlocale.c:298) ==140891== by 0x49B5142: setlocale (setlocale.c:337) ==140891== by 0x400106B: main (first.c:135) ==140891== === End of file valgrind652 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/14/valgrind692 ../src/curl -q --trace-ascii log/14/trace692 --trace-config all --trace-time http://127.0.0.1:35661/ -JO --output-dir log/14 > log/14/stdout692 2> log/14/stderr692 692: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 692 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind692 ../src/curl -q --trace-ascii log/14/trace692 --trace-config all --trace-time http://127.0.0.1:35661/ -JO --output-dir log/14 > log/14/stdout692 2> log/14/stderr692 === End of file commands.log === Start of file http_server.log 20:55:19.785854 ====> Client connect 20:55:19.785885 accept_connection 3 returned 4 20:55:19.785902 accept_connection 3 returned 0 20:55:19.785917 Read 93 bytes 20:55:19.785927 Process 93 bytes request 20:55:19.785940 Got request: GET /verifiedserver HTTP/1.1 20:55:19.785950 Are-we-friendly question received 20:55:19.785973 Wrote request (93 bytes) input to log/14/server.input 20:55:19.785988 Identifying ourselves as friends 20:55:19.786038 Response sent (57 bytes) and written to log/14/server.response 20:55:19.786047 special request received, no persistency 20:55:19.786057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind692 ==141649== ==141649== Process terminating with default action of signal 4 (SIGILL) ==141649== Illegal opcode at address 0x4003082 ==141649== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141649== by 0x4003082: main (tool_main.c:243) === End of file valgrind692 test 0693...[--etag-save 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/15/valgrind693 ../src/curl -q --output log/15/curl693.out --include --trace-ascii log/15/trace693 --trace-config all --trace-time http://127.0.0.1:39051/693 --etag-save log/15/moo/boo/etag693 --create-dirs > log/15/stdout693 2> log/15/stderr693 693: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 693 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind693 ../src/curl -q --output log/15/curl693.out --include --trace-ascii log/15/trace693 --trace-config all --trace-time http://127.0.0.1:39051/693 --etag-save log/15/moo/boo/etag693 --create-dirs > log/15/stdout693 2> log/15/stderr693 === End of file commands.log === Start of file http_server.log 20:55:19.788630 ====> Client connect 20:55:19.788657 accept_connection 3 returned 4 20:55:19.788673 accept_connection 3 returned 0 20:55:19.788686 Read 93 bytes 20:55:19.788695 Process 93 bytes request 20:55:19.788706 Got request: GET /verifiedserver HTTP/1.1 20:55:19.788714 Are-we-friendly question received 20:55:19.788738 Wrote request (93 bytes) input to log/15/server.input 20:55:19.788754 Identifying ourselves as friends 20:55:19.788805 Response sent (57 bytes) and written to log/15/server.response 20:55:19.788814 special request received, no persistency 20:55:19.788823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === End of file http_verify.out === Start of file server.cmd Testnum 693 === End of file server.cmd === StaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind699 ../src/curl -q --output log/22/curl699.out --include --trace-ascii log/22/trace699 --trace-config all --trace-time http://127.0.0.1:44239/699 -K log/22/cmd > log/22/stdout699 2> log/22/stderr699 CMD (33792): ../libtool --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/valgrind698 ../src/curl -q --output log/3/curl698.out --include --trace-ascii log/3/trace698 --trace-config all --trace-time ftp://127.0.0.1:39117/698 --ftp-account "one count" ftp://127.0.0.1:39117/698 > log/3/stdout698 2> log/3/stderr698 rt of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind693 ==141653== ==141653== Process terminating with default action of signal 4 (SIGILL) ==141653== Illegal opcode at address 0x4003082 ==141653== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141653== by 0x4003082: main (tool_main.c:243) === End of file valgrind693 test 0699...[--config with single-letter options plus one that is cleared] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind699 ../src/curl -q --output log/22/curl699.out --include --trace-ascii log/22/trace699 --trace-config all --trace-time http://127.0.0.1:44239/699 -K log/22/cmd > log/22/stdout699 2> log/22/stderr699 699: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 699 === Start of file cmd -Lfuhej:you === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind699 ../src/curl -q --output log/22/curl699.out --include --trace-ascii log/22/trace699 --trace-config all --trace-time http://127.0.0.1:44239/699 -K log/22/cmd > log/22/stdout699 2> log/22/stderr699 === End of file commands.log === Start of file http_server.log 20:55:19.916919 ====> Client connect 20:55:19.917012 accept_connection 3 returned 4 20:55:19.917034 accept_connection 3 returned 0 20:55:19.917058 Read 93 bytes 20:55:19.917068 Process 93 bytes request 20:55:19.917081 Got request: GET /verifiedserver HTTP/1.1 20:55:19.917091 Are-we-friendly question received 20:55:19.917117 Wrote request (93 bytes) input to log/22/server.input 20:55:19.917134 Identifying ourselves as friends 20:55:19.917209 Response sent (57 bytes) and written to log/22/server.response 20:55:19.917220 special request received, no persistency 20:55:19.917231 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44239... * Connected to 127.0.0.1 (127.0.0.1) port 44239 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44239 > User-Agent: curl/8.14.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: 104801 === End of file http_verify.out === Start of file server.cmd Testnum 699 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104801 === End of file server.response === Start of file valgrind699 ==141984== ==141984== Process terminating with default action of signal 4 (SIGILL) ==141984== Illegal opcode at address 0x4003082 ==141984== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==141984== by 0x4003082: main (tool_main.c:243) === End of file valgrind699 test 0698...[FTP with ACCT 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/3/valgrind698 ../src/curl -q --output log/3/curl698.out --include --trace-ascii log/3/trace698 --trace-config all --trace-time ftp://127.0.0.1:39117/698 --ftp-account "one count" ftp://127.0.0.1:39117/698 > log/3/stdout698 2> log/3/stderr698 698: 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 698 === Start of file commands.log ../libtool --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/valgrind698 ../src/curl -q --output log/3/curl698.out --include --trace-ascii log/3/trace698 --trace-config all --trace-time ftp://127.0.0.1:39117/698 --ftp-account "one count" ftp://127.0.0.1:39117/698 > log/3/stdout698 2> log/3/stderr698 === End of file commands.log === Start of file ftp_server.log 20:55:19.652149 ====> Client connect 20:55:19.652367 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:19.652822 < "USER anonymous" 20:55:19.652871 > "331 We are happy you popped in![CR][LF]" 20:55:19.653430 < "PASS ftp@example.com" 20:55:19.653476 > "230 Welcome you silly person[CR][LF]" 20:55:19.653611 < "PWD" 20:55:19.653639 > "257 "/" is current directory[CR][LF]" 20:55:19.653771 < "EPSV" 20:55:19.653794 ====> Passive DATA channel requested by client 20:55:19.653806 DATA sockfilt for passive data channel starting... 20:55:19.655635 DATA sockfilt for passive data channel started (pid 141948) 20:55:19.655760 DATA sockfilt for passive data channel listens on port 37563 20:55:19.655805 > "229 Entering Passive Mode (|||37563|)[LF]" 20:55:19.655822 Client has been notified that DATA conn will be accepted on port 37563 20:55:19.657763 Client connects to port 37563 20:55:19.657795 ====> Client established passive DATA connection on port 37563 20:55:19.657877 < "TYPE I" 20:55:19.657910 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:19.658100 < "SIZE verifiedserver" 20:55:19.658145 > "213 18[CR][LF]" 20:55:19.658279 < "RETR verifiedserver" 20:55:19.658309 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:19.658379 =====> Closing passive DATA connection... 20:55:19.658393 Server disconnects passive DATA connection 20:55:19.658613 Server disconnected passive DATA connection 20:55:19.658636 DATA sockfilt for passive data channel quits (pid 141948) 20:55:19.658967 DATA sockfilt for passive data channel quit (pid 141948) 20:55:19.658988 =====> Closed passive DATA connection 20:55:19.659012 > "226 File transfer complete[CR][LF]" 20:55:19.700497 < "QUIT" 20:55:19.700551 > "221 bye bye baby[CR][LF]" 20:55:19.701456 MAIN sockfilt said DISC 20:55:19.701483 ====> Client disconnected 20:55:19.701539 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:19.873329 ====> Client connect 20:55:19.873900 Received DATA (on stdin) 20:55:19.873922 > 160 bytes data, server => client 20:55:19.873934 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:19.873945 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:19.873954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:19.874182 < 16 bytes data, client => server 20:55:19.874202 'USER anonymous\r\n' 20:55:19.874695 Received DATA (on stdin) 20:55:19.874717 > 33 bytes data, server => client 20:55:19.874729 '331 We are happy you popped in!\r\n' 20:55:19.874784 < 22 bytes data, client => server 20:55:19.874798 'PASS ftp@example.com\r\n' 20:55:19.874987 Received DATA (on stdin) 20:55:19.874998 > 30 bytes data, server => client 20:55:19.875008 '230 Welcome you silly person\r\n' 20:55:19.875049 < 5 bytes data, client => server 20:55:19.875059 'PWD\r\n' 20:55:19.875145 Received DATA (on stdin) 20:55:19.875155 > 30 bytes data, server => client 20:55:19.875165 '257 "/" is current directory\r\n' 20:55:19.875212 < 6 bytes data, client => server 20:55:19.875221 'EPSV\r\n' 20:55:19.877340 Received DATA (on stdin) 20:55:19.877356 > 38 bytes data, server => client 20:55:19.877367 '229 Entering Passive Mode (|||37563|)\n' 20:55:19.879208 < 8 bytes data, client => server 20:55:19.879225 'TYPE I\r\n' 20:55:19.879422 Received DATA (on stdin) 20:55:19.879435 > 33 bytes data, server => client 20:55:19.879446 '200 I modify TYPE as you wanted\r\n' 20:55:19.879501 < 21 bytes data, client => server 20:55:19.879517 'SIZE verifiedserver\r\n' 20:55:19.879654 Received DATA (on stdin) 20:55:19.879664 > 8 bytes data, 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/24/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:40033/689 > log/24/stdout689 2> log/24/stderr689 r => client 20:55:19.879674 '213 18\r\n' 20:55:19.879716 < 21 bytes data, client => server 20:55:19.879726 'RETR verifiedserver\r\n' 20:55:19.879900 Received DATA (on stdin) 20:55:19.879910 > 29 bytes data, server => client 20:55:19.879920 '150 Binary junk (18 bytes).\r\n' 20:55:19.880521 Received DATA (on stdin) 20:55:19.880533 > 28 bytes data, server => client 20:55:19.880543 '226 File transfer complete\r\n' 20:55:19.921854 < 6 bytes data, client => server 20:55:19.921875 'QUIT\r\n' 20:55:19.922066 Received DATA (on stdin) 20:55:19.922079 > 18 bytes data, server => client 20:55:19.922089 '221 bye bye baby\r\n' 20:55:19.922915 ====> Client disconnect 20:55:19.923051 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:19.876952 Running IPv4 version 20:55:19.877023 Listening on port 37563 20:55:19.877061 Wrote pid 141948 to log/3/server/ftp_sockdata.pid 20:55:19.877082 Received PING (on stdin) 20:55:19.877180 Received PORT (on stdin) 20:55:19.879211 ====> Client connect 20:55:19.879941 Received DATA (on stdin) 20:55:19.879953 > 18 bytes data, server => client 20:55:19.879964 'WE ROOLZ: 110703\r\n' 20:55:19.880006 Received DISC (on stdin) 20:55:19.880021 ====> Client forcibly disconnected 20:55:19.880150 Received QUIT (on stdin) 20:55:19.880160 quits 20:55:19.880249 ============> 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 698 === End of file server.cmd === Start of file valgrind698 ==142006== ==142006== Process terminating with default action of signal 4 (SIGILL) ==142006== Illegal opcode at address 0x4003082 ==142006== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142006== by 0x4003082: main (tool_main.c:243) === End of file valgrind698 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/24/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:40033/689 > log/24/stdout689 2> log/24/stderr689 689: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 689 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:40033/689 > log/24/stdout689 2> log/24/stderr689 === End of file commands.log === Start of file rtsp_server.log 20:55:19.578901 ====> Client connect 20:55:19.578936 Read 93 bytes 20:55:19.578950 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:40033 User-Agent: curl/8.14.1 Accept: */* ] 20:55:19.578964 Got request: GET /verifiedserver HTTP/1.1 20:55:19.578974 Are-we-friendly question received 20:55:19.578997 Wrote request (93 bytes) input to log/24/server.input 20:55:19.579017 Send response number -2 part 0 20:55:19.579027 Identifying ourselves as friends 20:55:19.579068 Sent off 69 bytes 20:55:19.579085 Response sent (69 bytes) and written to log/24/server.response 20:55:19.579094 special request received, no persistency 20:55:19.579102 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:40033... * Connected to 127.0.0.1 (127.0.0.1) port 40033 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40033 > User-Agent: curl/8.14.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: 136960 === 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: 136960 === End of file server.response === Start of file stderr689 URL: rtsp://127.0.0.1:40033/689 === End of file stderr689 === Start of file valgrind689 ==141317== ==141317== Process terminating with default action of signal 4 (SIGILL) ==141317== Illegal opcode at address 0x491A6B3 ==141317== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==141317== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==141317== by 0x491A6B3: Curl_open (url.c:538) ==141317== by 0x48952AF: curl_easy_init (easy.c:377) ==141317== by 0x4001087: UnknownInlinedFun (lib567.c:42) ==141317== by 0x4001087: main (first.c:196) ==141317== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==141317== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141317== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141317== by 0x4A93FA5: tsearch (tsearch.c:290) ==141317== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141317== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141317== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141317== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141317== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141317== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141317== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141317== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141317== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141317== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141317== by 0x49B1142: setlocale (setlocale.c:337) ==141317== by 0x4001047: main (first.c:135) ==141317== ==141317== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==141317== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141317== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141317== by 0x4A93FA5: tsearch (tsearch.c:290) ==141317== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141317== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141317== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141317== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141317== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141317== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141317== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141317== by 0x49B1142: setlocale (setlocale.c:337) ==141317== by 0x4001047: main (first.c:135) ==141317== ==141317== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==141317== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141317== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141317== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141317== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141317== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141317== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141317== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141317== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141317== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141317== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141317== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141317== by 0x49B1142: setlocale (setlocale.c:337) ==141317== by 0x4001047: main (first.c:135) ==141317== ==141317== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==141317== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141317== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141317== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141317== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141317== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141317== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141317== by 0x49A5246: __gconv_compare_alias (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/valgrind660 ./libtest/lib597 imap://127.0.0.1:42607/660 > log/4/stdout660 2> log/4/stderr660 onv_db.c:692) ==141317== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141317== by 0x49B1142: setlocale (setlocale.c:337) ==141317== by 0x4001047: main (first.c:135) ==141317== ==141317== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==141317== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==141317== by 0x491A603: Curl_open (url.c:517) ==141317== by 0x48952AF: curl_easy_init (easy.c:377) ==141317== by 0x4001087: UnknownInlinedFun (lib567.c:42) ==141317== by 0x4001087: main (first.c:196) ==141317== ==141317== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==141317== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141317== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141317== by 0x4A93FA5: tsearch (tsearch.c:290) ==141317== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141317== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141317== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141317== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141317== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141317== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141317== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141317== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141317== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141317== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141317== by 0x49B1142: setlocale (setlocale.c:337) ==141317== by 0x4001047: main (first.c:135) ==141317== ==141317== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==141317== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141317== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141317== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141317== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141317== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141317== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141317== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141317== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141317== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141317== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141317== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141317== by 0x49B1142: setlocale (setlocale.c:337) ==141317== by 0x4001047: main (first.c:135) ==141317== === End of file valgrind689 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 42607 (log/4/server/imap_server.port) RUN: IMAP server is PID 139439 port 42607 * pid imap => 139439 139439 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/4/valgrind660 ./libtest/lib597 imap://127.0.0.1:42607/660 > log/4/stdout660 2> log/4/stderr660 660: 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 660 === Start of file commands.log ../libtool --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/valgrind660 ./libtest/lib597 imap://127.0.0.1:42607/660 > log/4/stdout660 2> log/4/stderr660 === End of file commands.log === Start of file imap_server.log 20:55:18.476983 IMAP server listens on port IPv4/42607 20:55:18.477037 logged pid 139439 in log/4/server/imap_server.pid 20:55:18.477051 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:18.698298 Running IPv4 version 20:55:18.698356 Listening on port 42607 20:55:18.698388 Wrote pid 139579 to log/4/server/imap_sockfilt.pid 20:55:18.698406 Wrote port 42607 to log/4/server/imap_server.port 20:55:18.698419 Received PING (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:42607/660 === End of file stderr660 === Start of file valgrind660 ==141398== ==141398== Process terminating with default action of signal 4 (SIGILL) ==141398== Illegal opcode at address 0x491A6B3 ==141398== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==141398== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==141398== by 0x491A6B3: Curl_open (url.c:538) ==141398== by 0x48952AF: curl_easy_init (easy.c:377) ==141398== by 0x40012F1: test.part.0 (lib597.c:56) ==141398== by 0x4001094: UnknownInlinedFun (lib597.c:54) ==141398== by 0x4001094: main (first.c:196) ==141398== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==141398== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141398== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141398== by 0x4A93FA5: tsearch (tsearch.c:290) ==141398== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141398== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141398== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141398== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141398== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141398== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141398== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141398== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141398== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141398== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141398== by 0x49B1142: setlocale (setlocale.c:337) ==141398== by 0x4001041: main (first.c:135) ==141398== ==141398== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==141398== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141398== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141398== by 0x4A93FA5: tsearch (tsearch.c:290) ==141398== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141398== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141398== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141398== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141398== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141398== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141398== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141398== by 0x49B1142: setlocale (setlocale.c:337) ==141398== by 0x4001041: main (first.c:135) ==141398== ==141398== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==141398== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141398== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141398== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141398== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141398== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141398== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141398== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141398== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141398== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141398== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141398== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141398== by 0x49B1142: setlocale (setlocale.c:337) ==141398== by 0x4001041: main (first.c:135) ==141398== ==141398== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==141398== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141398== by 0x49A60A9: 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/7/valgrind704 ../src/curl -q --output log/7/curl704.out --include --trace-ascii log/7/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39141/704 > log/7/stdout704 2> log/7/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/17/valgrind705 ../src/curl -q --output log/17/curl705.out --include --trace-ascii log/17/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:35207/705 > log/17/stdout705 2> log/17/stderr705 =141398== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141398== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141398== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141398== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141398== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141398== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141398== by 0x49B1142: setlocale (setlocale.c:337) ==141398== by 0x4001041: main (first.c:135) ==141398== ==141398== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==141398== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==141398== by 0x491A603: Curl_open (url.c:517) ==141398== by 0x48952AF: curl_easy_init (easy.c:377) ==141398== by 0x40012F1: test.part.0 (lib597.c:56) ==141398== by 0x4001094: UnknownInlinedFun (lib597.c:54) ==141398== by 0x4001094: main (first.c:196) ==141398== ==141398== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==141398== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141398== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141398== by 0x4A93FA5: tsearch (tsearch.c:290) ==141398== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141398== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141398== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141398== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141398== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141398== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141398== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141398== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141398== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141398== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141398== by 0x49B1142: setlocale (setlocale.c:337) ==141398== by 0x4001041: main (first.c:135) ==141398== ==141398== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==141398== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141398== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141398== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141398== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141398== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141398== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141398== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141398== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141398== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141398== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141398== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141398== by 0x49B1142: setlocale (setlocale.c:337) ==141398== by 0x4001041: main (first.c:135) ==141398== === End of file valgrind660 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/7/valgrind704 ../src/curl -q --output log/7/curl704.out --include --trace-ascii log/7/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39141/704 > log/7/stdout704 2> log/7/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/7/ dir after test 704 === Start of file commands.log ../libtool --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/valgrind704 ../src/curl -q --output log/7/curl704.out --include --trace-ascii log/7/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39141/704 > log/7/stdout704 2> log/7/stderr704 === End of file commands.log === Start of file http_server.log 20:55:20.126914 ====> Client connect 20:55:20.126951 accept_connection 3 returned 4 20:55:20.126969 accept_connection 3 returned 0 20:55:20.126984 Read 93 bytes 20:55:20.126993 Process 93 bytes request 20:55:20.127006 Got request: GET /verifiedserver HTTP/1.1 20:55:20.127015 Are-we-friendly question received 20:55:20.127043 Wrote request (93 bytes) input to log/7/server.input 20:55:20.127059 Identifying ourselves as friends 20:55:20.127134 Response sent (57 bytes) and written to log/7/server.response 20:55:20.127146 special request received, no persistency 20:55:20.127155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file valgrind704 ==142190== ==142190== Process terminating with default action of signal 4 (SIGILL) ==142190== Illegal opcode at address 0x4003082 ==142190== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142190== by 0x4003082: main (tool_main.c:243) === 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/17/valgrind705 ../src/curl -q --output log/17/curl705.out --include --trace-ascii log/17/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:35207/705 > log/17/stdout705 2> log/17/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/17/ dir after test 705 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind705 ../src/curl -q --output log/17/curl705.out --include --trace-ascii log/17/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:35207/705 > log/17/stdout705 2> log/17/stderr705 === End of file commands.log === Start of file http_server.log 20:55:20.134745 ====> Client connect 20:55:20.134775 accept_connection 3 returned 4 20:55:20.134793 accept_connection 3 returned 0 20:55:20.134807 Read 93 bytes 20:55:20.134817 Process 93 bytes request 20:55:20.134829 Got request: GET /verifiedserver HTTP/1.1 20:55:20.134838 Are-we-friendly question received 20:55:20.134862 Wrote request (93 bytes) input to log/17/server.input 20:55:20.134878 Identifying ourselves as friends 20:55:20.134956 Response sent (57 bytes) and written to log/17/server.response 20:55:20.134968 special request received, no persistency 20:55:20.134977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind705 ==142212== ==142212== Process terminating with default action of signal 4 (SIGILL) ==142212== Illegal opcodCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind694 ./libtest/lib694 http://127.0.0.1:36793/path/mine http://127.0.0.1:36793/path/6940010 > log/21/stdout694 2> log/21/stderr694 e at address 0x4003082 ==142212== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142212== by 0x4003082: main (tool_main.c:243) === End of file valgrind705 test 0694...[HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind694 ./libtest/lib694 http://127.0.0.1:36793/path/mine http://127.0.0.1:36793/path/6940010 > log/21/stdout694 2> log/21/stderr694 694: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 694 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind694 ./libtest/lib694 http://127.0.0.1:36793/path/mine http://127.0.0.1:36793/path/6940010 > log/21/stdout694 2> log/21/stderr694 === End of file commands.log === Start of file http_server.log 20:55:19.794103 ====> Client connect 20:55:19.794129 accept_connection 3 returned 4 20:55:19.794143 accept_connection 3 returned 0 20:55:19.794155 Read 93 bytes 20:55:19.794163 Process 93 bytes request 20:55:19.794173 Got request: GET /verifiedserver HTTP/1.1 20:55:19.794181 Are-we-friendly question received 20:55:19.794197 Wrote request (93 bytes) input to log/21/server.input 20:55:19.794211 Identifying ourselves as friends 20:55:19.794251 Response sent (57 bytes) and written to log/21/server.response 20:55:19.794259 special request received, no persistency 20:55:19.794266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === End of file http_verify.out === Start of file server.cmd Testnum 694 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104797 === End of file server.response === Start of file stderr694 URL: http://127.0.0.1:36793/path/mine === End of file stderr694 === Start of file valgrind694 ==141693== ==141693== Process terminating with default action of signal 4 (SIGILL) ==141693== Illegal opcode at address 0x491A6B3 ==141693== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==141693== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==141693== by 0x491A6B3: Curl_open (url.c:538) ==141693== by 0x48952AF: curl_easy_init (easy.c:377) ==141693== by 0x40010AF: UnknownInlinedFun (lib694.c:40) ==141693== by 0x40010AF: main (first.c:196) ==141693== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==141693== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141693== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141693== by 0x4A93FA5: tsearch (tsearch.c:290) ==141693== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141693== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141693== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141693== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141693== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141693== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141693== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141693== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141693== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141693== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141693== by 0x49B1142: setlocale (setlocale.c:337) ==141693== by 0x4001056: main (first.c:135) ==141693== ==141693== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==141693== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141693== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141693== by 0x4A93FA5: tsearch (tsearch.c:290) ==141693== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141693== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141693== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141693== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141693== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141693== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141693== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141693== by 0x49B1142: setlocale (setlocale.c:337) ==141693== by 0x4001056: main (first.c:135) ==141693== ==141693== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==141693== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141693== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141693== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141693== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141693== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141693== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141693== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141693== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141693== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141693== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141693== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141693== by 0x49B1142: setlocale (setlocale.c:337) ==141693== by 0x4001056: main (first.c:135) ==141693== ==141693== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==141693== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141693== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141693== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141693== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141693== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141693== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141693== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141693== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141693== by 0x49B1142: setlocale (setlocale.c:337) ==141693== by 0x4001056: main (first.c:135) ==141693== ==141693== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==141693== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==141693== by 0x491A603: Curl_open (url.c:517) ==141693== by 0x48952AF: curl_easy_init (easy.c:377) ==141693== by 0x40010AF: UnknownInlinedFun (lib694.c:40) ==141693== by 0x40010AF: main (first.c:196) ==141693== ==141693== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==141693== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141693== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141693== by 0x4A93FA5: tsearch (tsearch.c:290) ==141693== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141693== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141693== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141693== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141693== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141693== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141693== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141693== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141693== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141693== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141693== by 0x49B1142: setlocale (setlocale.c:337) ==141693== by 0x4001056: main (first.c:135) ==141693== ==141693== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==141693==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind695 ./libtest/lib695 http://127.0.0.1:38539/we/want/695 > log/23/stdout695 2> log/23/stderr695 at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141693== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141693== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141693== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141693== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141693== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141693== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141693== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141693== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141693== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141693== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141693== by 0x49B1142: setlocale (setlocale.c:337) ==141693== by 0x4001056: main (first.c:135) ==141693== === End of file valgrind694 test 0695...[MIME parts reuse as a child 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/23/valgrind695 ./libtest/lib695 http://127.0.0.1:38539/we/want/695 > log/23/stdout695 2> log/23/stderr695 695: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 695 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind695 ./libtest/lib695 http://127.0.0.1:38539/we/want/695 > log/23/stdout695 2> log/23/stderr695 === End of file commands.log === Start of file http_server.log 20:55:19.802891 ====> Client connect 20:55:19.802922 accept_connection 3 returned 4 20:55:19.802939 accept_connection 3 returned 0 20:55:19.802953 Read 93 bytes 20:55:19.802962 Process 93 bytes request 20:55:19.802976 Got request: GET /verifiedserver HTTP/1.1 20:55:19.802986 Are-we-friendly question received 20:55:19.803010 Wrote request (93 bytes) input to log/23/server.input 20:55:19.803027 Identifying ourselves as friends 20:55:19.803081 Response sent (57 bytes) and written to log/23/server.response 20:55:19.803090 special request received, no persistency 20:55:19.803100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === End of file http_verify.out === Start of file server.cmd Testnum 695 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104804 === End of file server.response === Start of file stderr695 URL: http://127.0.0.1:38539/we/want/695 === End of file stderr695 === Start of file valgrind695 ==141709== ==141709== Process terminating with default action of signal 4 (SIGILL) ==141709== Illegal opcode at address 0x491A6B3 ==141709== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==141709== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==141709== by 0x491A6B3: Curl_open (url.c:538) ==141709== by 0x48952AF: curl_easy_init (easy.c:377) ==141709== by 0x4001085: UnknownInlinedFun (lib695.c:54) ==141709== by 0x4001085: main (first.c:196) ==141709== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==141709== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141709== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141709== by 0x4A93FA5: tsearch (tsearch.c:290) ==141709== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141709== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141709== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141709== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141709== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141709== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141709== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141709== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141709== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141709== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141709== by 0x49B1142: setlocale (setlocale.c:337) ==141709== by 0x4001045: main (first.c:135) ==141709== ==141709== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==141709== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141709== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141709== by 0x4A93FA5: tsearch (tsearch.c:290) ==141709== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141709== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141709== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141709== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141709== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141709== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141709== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141709== by 0x49B1142: setlocale (setlocale.c:337) ==141709== by 0x4001045: main (first.c:135) ==141709== ==141709== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==141709== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141709== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141709== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141709== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141709== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141709== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141709== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141709== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141709== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141709== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141709== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141709== by 0x49B1142: setlocale (setlocale.c:337) ==141709== by 0x4001045: main (first.c:135) ==141709== ==141709== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==141709== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141709== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141709== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141709== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141709== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141709== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141709== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141709== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141709== by 0x49B1142: setlocale (setlocale.c:337) ==141709== by 0x4001045: main (first.c:135) ==141709== ==141709== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==141709== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==141709== by 0x491A603: Curl_open (url.c:517) ==141709== by 0x48952AF: curl_easy_init (easy.c:377) ==141709== by 0x4001085: UnknownInlinedFun (lib695.c:54) ==141709== by 0x4001085: main (first.c:196) ==141709== ==141709== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==141709== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141709== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141709== by 0x4A93FA5: tsearch (tsearch.c:290) ==141709== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141709== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141709== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141709== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141709== CMD (33792): ../libtool --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/valgrind696 ./libtest/lib696 http://127.0.0.1:38475 > log/6/stdout696 2> log/6/stderr696 by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141709== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141709== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141709== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141709== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141709== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141709== by 0x49B1142: setlocale (setlocale.c:337) ==141709== by 0x4001045: main (first.c:135) ==141709== ==141709== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==141709== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141709== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141709== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141709== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141709== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141709== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141709== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141709== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141709== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141709== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141709== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141709== by 0x49B1142: setlocale (setlocale.c:337) ==141709== by 0x4001045: main (first.c:135) ==141709== === End of file valgrind695 test 0696...[CONNECT_ONLY and doing a second curl_easy_perform] ../libtool --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/valgrind696 ./libtest/lib696 http://127.0.0.1:38475 > log/6/stdout696 2> log/6/stderr696 696: stdout FAILED: --- log/6/check-expected 2025-06-04 20:55:20.349699128 +0000 +++ log/6/check-generated 2025-06-04 20:55:20.349699128 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/6/ dir after test 696 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind696 ./libtest/lib696 http://127.0.0.1:38475 > log/6/stdout696 2> log/6/stderr696 === End of file commands.log === Start of file http_server.log 20:55:19.803839 ====> Client connect 20:55:19.803880 accept_connection 3 returned 4 20:55:19.803899 accept_connection 3 returned 0 20:55:19.803915 Read 93 bytes 20:55:19.803925 Process 93 bytes request 20:55:19.803936 Got request: GET /verifiedserver HTTP/1.1 20:55:19.803945 Are-we-friendly question received 20:55:19.803967 Wrote request (93 bytes) input to log/6/server.input 20:55:19.803983 Identifying ourselves as friends 20:55:19.804057 Response sent (57 bytes) and written to log/6/server.response 20:55:19.804068 special request received, no persistency 20:55:19.804077 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === End of file http_verify.out === Start of file server.cmd Testnum 696 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 106365 === End of file server.response === Start of file stderr696 URL: http://127.0.0.1:38475 === End of file stderr696 === Start of file valgrind696 ==141711== ==141711== Process terminating with default action of signal 4 (SIGILL) ==141711== Illegal opcode at address 0x491A6B3 ==141711== at 0x491A6B3: UnknownInlinedFun (string_fortified.h:59) ==141711== by 0x491A6B3: UnknownInlinedFun (request.c:46) ==141711== by 0x491A6B3: Curl_open (url.c:538) ==141711== by 0x48952AF: curl_easy_init (easy.c:377) ==141711== by 0x40011FC: test (lib556.c:42) ==141711== by 0x400106C: main (first.c:196) ==141711== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==141711== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141711== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141711== by 0x4A93FA5: tsearch (tsearch.c:290) ==141711== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141711== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141711== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141711== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141711== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141711== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141711== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141711== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141711== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141711== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141711== by 0x49B1142: setlocale (setlocale.c:337) ==141711== by 0x4001041: main (first.c:135) ==141711== ==141711== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==141711== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141711== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141711== by 0x4A93FA5: tsearch (tsearch.c:290) ==141711== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141711== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141711== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141711== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141711== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141711== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141711== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141711== by 0x49B1142: setlocale (setlocale.c:337) ==141711== by 0x4001041: main (first.c:135) ==141711== ==141711== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==141711== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141711== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141711== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141711== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141711== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141711== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==141711== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==141711== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141711== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141711== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141711== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141711== by 0x49B1142: setlocale (setlocale.c:337) ==141711== by 0x4001041: main (first.c:135) ==141711== ==141711== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==141711== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141711== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141711== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==141711== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==141711== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141711== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141711== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141711== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141711== by 0x49B1142: setlocale (setlocale.c:337) ==141711== by 0x4001041: main (first.c:135) ==141711== ==141711== 5,456 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==141711== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==141711== by 0x491A603: Curl_open (url.c:517) ==141711== by 0x48952AF: curl_easy_init (easy.c:377) ==141711== by 0x40011FC: test (lib556.c:42) ==141711== by 0x400106C: main (first.c:196) ==141711== ==141711== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==141711== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141711== by 0x4A93FA5: __tsearch (tsearch.c:337) ==141711== by 0x4A93FA5: tsearch (tsearch.c:290) ==141711== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==141711== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141711== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141711== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141711== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h: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/24/valgrind718 ../src/curl -q --output log/24/curl718.out --include --trace-ascii log/24/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:45957 --proxytunnel > log/24/stdout718 2> log/24/stderr718 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind722 ../src/curl -q --output log/21/curl722.out --include --trace-ascii log/21/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36793 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout722 2> log/21/stderr722 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind723 ../src/curl -q --output log/23/curl723.out --include --trace-ascii log/23/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout723 2> log/23/stderr723 0) ==141711== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141711== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141711== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141711== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141711== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141711== by 0x49B1142: setlocale (setlocale.c:337) ==141711== by 0x4001041: main (first.c:135) ==141711== ==141711== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==141711== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==141711== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==141711== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==141711== by 0x49A63F0: add_alias (gconv_conf.c:178) ==141711== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==141711== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==141711== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==141711== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==141711== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==141711== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==141711== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==141711== by 0x49B1142: setlocale (setlocale.c:337) ==141711== by 0x4001041: main (first.c:135) ==141711== === End of file valgrind696 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/24/valgrind718 ../src/curl -q --output log/24/curl718.out --include --trace-ascii log/24/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:45957 --proxytunnel > log/24/stdout718 2> log/24/stderr718 718: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 718 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind718 ../src/curl -q --output log/24/curl718.out --include --trace-ascii log/24/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:45957 --proxytunnel > log/24/stdout718 2> log/24/stderr718 === End of file commands.log === Start of file http_server.log 20:55:20.439889 ====> Client connect 20:55:20.439911 accept_connection 3 returned 4 20:55:20.439923 accept_connection 3 returned 0 20:55:20.439933 Read 93 bytes 20:55:20.439940 Process 93 bytes request 20:55:20.439949 Got request: GET /verifiedserver HTTP/1.1 20:55:20.439955 Are-we-friendly question received 20:55:20.439970 Wrote request (93 bytes) input to log/24/server.input 20:55:20.439981 Identifying ourselves as friends 20:55:20.440017 Response sent (57 bytes) and written to log/24/server.response 20:55:20.440024 special request received, no persistency 20:55:20.440030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind718 ==142494== ==142494== Process terminating with default action of signal 4 (SIGILL) ==142494== Illegal opcode at address 0x4003082 ==142494== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142494== by 0x4003082: main (tool_main.c:243) === End of file valgrind718 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/23/valgrind723 ../src/curl -q --output log/23/curl723.out --include --trace-ascii log/23/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout723 2> log/23/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/23/ dir after test 723 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind723 ../src/curl -q --output log/23/curl723.out --include --trace-ascii log/23/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout723 2> log/23/stderr723 === End of file commands.log === Start of file http_server.log 20:55:20.579519 ====> Client connect 20:55:20.579542 accept_connection 3 returned 4 20:55:20.579555 accept_connection 3 returned 0 20:55:20.579564 Read 93 bytes 20:55:20.579572 Process 93 bytes request 20:55:20.579581 Got request: GET /verifiedserver HTTP/1.1 20:55:20.579587 Are-we-friendly question received 20:55:20.579606 Wrote request (93 bytes) input to log/23/server.input 20:55:20.579616 Identifying ourselves as friends 20:55:20.579651 Response sent (57 bytes) and written to log/23/server.response 20:55:20.579657 special request received, no persistency 20:55:20.579663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind723 ==142629== ==142629== Process terminating with default action of signal 4 (SIGILL) ==142629== Illegal opcode at address 0x4003082 ==142629== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142629== by 0x4003082: main (tool_main.c:243) === End of file valgrind723 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/21/valgrind722 ../src/curl -q --output log/21/curl722.out --include --trace-ascii log/21/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36793 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout722 2> log/21/stderr722 722: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 722 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind722 ../src/curl -q --output log/21/curl722.out --include --trace-ascii log/21/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.CMD (33792): ../libtool --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/valgrind677 ./libtest/lib677 imap://127.0.0.1:36287/677 > log/10/stdout677 2> log/10/stderr677 1:36793 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout722 2> log/21/stderr722 === End of file commands.log === Start of file http_server.log 20:55:20.579330 ====> Client connect 20:55:20.579350 accept_connection 3 returned 4 20:55:20.579361 accept_connection 3 returned 0 20:55:20.579371 Read 93 bytes 20:55:20.579377 Process 93 bytes request 20:55:20.579388 Got request: GET /verifiedserver HTTP/1.1 20:55:20.579395 Are-we-friendly question received 20:55:20.579410 Wrote request (93 bytes) input to log/21/server.input 20:55:20.579421 Identifying ourselves as friends 20:55:20.579454 Response sent (57 bytes) and written to log/21/server.response 20:55:20.579461 special request received, no persistency 20:55:20.579468 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind722 ==142630== ==142630== Process terminating with default action of signal 4 (SIGILL) ==142630== Illegal opcode at address 0x4003082 ==142630== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142630== by 0x4003082: main (tool_main.c:243) === End of file valgrind722 startnew: /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 36287 (log/10/server/imap_server.port) RUN: IMAP server is PID 140651 port 36287 * pid imap => 140651 140651 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/10/valgrind677 ./libtest/lib677 imap://127.0.0.1:36287/677 > log/10/stdout677 2> log/10/stderr677 677: 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 677 === Start of file commands.log ../libtool --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/valgrind677 ./libtest/lib677 imap://127.0.0.1:36287/677 > log/10/stdout677 2> log/10/stderr677 === End of file commands.log === Start of file imap_server.log 20:55:19.130058 IMAP server listens on port IPv4/36287 20:55:19.130144 logged pid 140651 in log/10/server/imap_server.pid 20:55:19.130167 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:19.351234 Running IPv4 version 20:55:19.351289 Listening on port 36287 20:55:19.351333 Wrote pid 140726 to log/10/server/imap_sockfilt.pid 20:55:19.351365 Wrote port 36287 to log/10/server/imap_server.port 20:55:19.351485 Received PING (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:36287/677 === End of file stderr677 === Start of file valgrind677 ==142402== ==142402== Process terminating with default action of signal 4 (SIGILL) ==142402== Illegal opcode at address 0x48E3D1B ==142402== at 0x48E3D1B: UnknownInlinedFun (string_fortified.h:59) ==142402== by 0x48E3D1B: UnknownInlinedFun (uint-table.c:40) ==142402== by 0x48E3D1B: Curl_multi_handle (multi.c:235) ==142402== by 0x40010AC: UnknownInlinedFun (lib677.c:45) ==142402== by 0x40010AC: main (first.c:196) ==142402== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==142402== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==142402== by 0x4A93FA5: __tsearch (tsearch.c:337) ==142402== by 0x4A93FA5: tsearch (tsearch.c:290) ==142402== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==142402== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==142402== by 0x49A63F0: add_alias (gconv_conf.c:178) ==142402== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==142402== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==142402== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==142402== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==142402== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==142402== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==142402== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==142402== by 0x49B1142: setlocale (setlocale.c:337) ==142402== by 0x4001058: main (first.c:135) ==142402== ==142402== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==142402== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==142402== by 0x4A93FA5: __tsearch (tsearch.c:337) ==142402== by 0x4A93FA5: tsearch (tsearch.c:290) ==142402== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==142402== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==142402== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==142402== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==142402== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==142402== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==142402== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==142402== by 0x49B1142: setlocale (setlocale.c:337) ==142402== by 0x4001058: main (first.c:135) ==142402== ==142402== 632 bytes in 1 blocks are definitely lost in loss record 613 of 655 ==142402== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==142402== by 0x48E3C74: Curl_multi_handle (multi.c:226) ==142402== by 0x40010AC: UnknownInlinedFun (lib677.c:45) ==142402== by 0x40010AC: main (first.c:196) ==142402== ==142402== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==142402== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==142402== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==142402== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==142402== by 0x49A63F0: add_alias (gconv_conf.c:178) ==142402== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==142402== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==142402== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==142402== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==142402== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==142402== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==142402== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==142402== by 0x49B1142: setlocale (setlocale.c:337) ==142402== by 0x4001058: main (first.c:135) ==142402== ==142402== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 655 ==142402== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==142402== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==142402== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==142402== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==142402== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==142402== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==142402== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==142402== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==142402== by 0x49B1142: setlocale (setlocale.c:337) ==142402== by 0x4001058: main (first.c:135)CMD (33792): ../libtool --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/valgrind701 ../src/curl -q --output log/5/curl701.out --include --trace-ascii log/5/trace701 --trace-config all --trace-time --socks5 127.0.0.1:37103 http://127.0.0.1:33725/701 > log/5/stdout701 2> log/5/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/18/valgrind702 ../src/curl -q --output log/18/curl702.out --include --trace-ascii log/18/trace702 --trace-config all --trace-time --socks4 127.0.0.1:35109 http://127.0.0.1:47 > log/18/stdout702 2> log/18/stderr702 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind727 ../src/curl -q --output log/21/curl727.out --include --trace-ascii log/21/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36793 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout727 2> log/21/stderr727 ==142402== ==142402== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==142402== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==142402== by 0x4A93FA5: __tsearch (tsearch.c:337) ==142402== by 0x4A93FA5: tsearch (tsearch.c:290) ==142402== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==142402== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==142402== by 0x49A63F0: add_alias (gconv_conf.c:178) ==142402== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==142402== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==142402== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==142402== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==142402== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==142402== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==142402== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==142402== by 0x49B1142: setlocale (setlocale.c:337) ==142402== by 0x4001058: main (first.c:135) ==142402== ==142402== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==142402== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==142402== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==142402== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==142402== by 0x49A63F0: add_alias (gconv_conf.c:178) ==142402== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==142402== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==142402== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==142402== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==142402== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==142402== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==142402== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==142402== by 0x49B1142: setlocale (setlocale.c:337) ==142402== by 0x4001058: main (first.c:135) ==142402== === End of file valgrind677 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 142025 * pid socks => 142025 142025 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/5/valgrind701 ../src/curl -q --output log/5/curl701.out --include --trace-ascii log/5/trace701 --trace-config all --trace-time --socks5 127.0.0.1:37103 http://127.0.0.1:33725/701 > log/5/stdout701 2> log/5/stderr701 701: 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 701 === Start of file commands.log ../libtool --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/valgrind701 ../src/curl -q --output log/5/curl701.out --include --trace-ascii log/5/trace701 --trace-config all --trace-time --socks5 127.0.0.1:37103 http://127.0.0.1:33725/701 > log/5/stdout701 2> log/5/stderr701 === End of file commands.log === Start of file http_server.log 20:55:19.941489 ====> Client connect 20:55:19.941521 accept_connection 3 returned 4 20:55:19.941538 accept_connection 3 returned 0 20:55:19.941551 Read 93 bytes 20:55:19.941561 Process 93 bytes request 20:55:19.941573 Got request: GET /verifiedserver HTTP/1.1 20:55:19.941582 Are-we-friendly question received 20:55:19.941602 Wrote request (93 bytes) input to log/5/server.input 20:55:19.941617 Identifying ourselves as friends 20:55:19.941672 Response sent (57 bytes) and written to log/5/server.response 20:55:19.941681 special request received, no persistency 20:55:19.941690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file socks_server.log 20:55:19.946922 Running IPv4 version 20:55:19.946973 Listening on port 37103 20:55:19.947012 Wrote pid 142025 to log/5/server/socks_server.pid 20:55:19.947043 Wrote port 37103 to log/5/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==142864== ==142864== Process terminating with default action of signal 4 (SIGILL) ==142864== Illegal opcode at address 0x4003082 ==142864== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142864== by 0x4003082: main (tool_main.c:243) === End of file valgrind701 startnew: ./server/socksd --port 0 --pidfile log/18/server/socks_server.pid --portfile log/18/server/socks_server.port --reqfile log/18/socksd-request.log --logfile log/18/socks_server.log --backend 127.0.0.1 --config log/18/server.cmd RUN: SOCKS server is now running PID 142106 * pid socks => 142106 142106 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/18/valgrind702 ../src/curl -q --output log/18/curl702.out --include --trace-ascii log/18/trace702 --trace-config all --trace-time --socks4 127.0.0.1:35109 http://127.0.0.1:47 > log/18/stdout702 2> log/18/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/18/ dir after test 702 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind702 ../src/curl -q --output log/18/curl702.out --include --trace-ascii log/18/trace702 --trace-config all --trace-time --socks4 127.0.0.1:35109 http://127.0.0.1:47 > log/18/stdout702 2> log/18/stderr702 === End of file commands.log === Start of file server.cmd response 91 Testnum 702 === End of file server.cmd === Start of file socks_server.log 20:55:19.986008 Running IPv4 version 20:55:19.986067 Listening on port 35109 20:55:19.986102 Wrote pid 142106 to log/18/server/socks_server.pid 20:55:19.986129 Wrote port 35109 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==143081== ==143081== Process terminating with default action of signal 4 (SIGILL) ==143081== Illegal opcode at address 0x4003082 ==143081== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143081== by 0x4003082: main (tool_main.c:243) === End of file valgrind702 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/21/valgrind727 ../src/curl -q --output log/21/curl727.out --include --trace-ascii log/21/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36793 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout727 2> log/21/stderr727 727: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 727 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/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/20/valgrind700 ../src/curl -q --output log/20/curl700.out --include --trace-ascii log/20/trace700 --trace-config all --trace-time --socks4 127.0.0.1:32977 http://127.0.0.1:41293/700 > log/20/stdout700 2> log/20/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/23/valgrind726 ../src/curl -q --output log/23/curl726.out --include --trace-ascii log/23/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout726 2> log/23/stderr726 rc/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind727 ../src/curl -q --output log/21/curl727.out --include --trace-ascii log/21/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36793 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout727 2> log/21/stderr727 === End of file commands.log === Start of file http_server.log 20:55:20.961242 ====> Client connect 20:55:20.961262 accept_connection 3 returned 4 20:55:20.961274 accept_connection 3 returned 0 20:55:20.961283 Read 93 bytes 20:55:20.961290 Process 93 bytes request 20:55:20.961299 Got request: GET /verifiedserver HTTP/1.1 20:55:20.961305 Are-we-friendly question received 20:55:20.961320 Wrote request (93 bytes) input to log/21/server.input 20:55:20.961330 Identifying ourselves as friends 20:55:20.961368 Response sent (57 bytes) and written to log/21/server.response 20:55:20.961374 special request received, no persistency 20:55:20.961380 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind727 ==142958== ==142958== Process terminating with default action of signal 4 (SIGILL) ==142958== Illegal opcode at address 0x4003082 ==142958== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142958== by 0x4003082: main (tool_main.c:243) === End of file valgrind727 startnew: ./server/socksd --port 0 --pidfile log/20/server/socks_server.pid --portfile log/20/server/socks_server.port --reqfile log/20/socksd-request.log --logfile log/20/socks_server.log --backend 127.0.0.1 --config log/20/server.cmd RUN: SOCKS server is now running PID 142036 * pid socks => 142036 142036 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/20/valgrind700 ../src/curl -q --output log/20/curl700.out --include --trace-ascii log/20/trace700 --trace-config all --trace-time --socks4 127.0.0.1:32977 http://127.0.0.1:41293/700 > log/20/stdout700 2> log/20/stderr700 700: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 700 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind700 ../src/curl -q --output log/20/curl700.out --include --trace-ascii log/20/trace700 --trace-config all --trace-time --socks4 127.0.0.1:32977 http://127.0.0.1:41293/700 > log/20/stdout700 2> log/20/stderr700 === End of file commands.log === Start of file http_server.log 20:55:19.945594 ====> Client connect 20:55:19.945626 accept_connection 3 returned 4 20:55:19.945642 accept_connection 3 returned 0 20:55:19.945656 Read 93 bytes 20:55:19.945666 Process 93 bytes request 20:55:19.945676 Got request: GET /verifiedserver HTTP/1.1 20:55:19.945686 Are-we-friendly question received 20:55:19.945708 Wrote request (93 bytes) input to log/20/server.input 20:55:19.945723 Identifying ourselves as friends 20:55:19.945779 Response sent (57 bytes) and written to log/20/server.response 20:55:19.945789 special request received, no persistency 20:55:19.945798 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file socks_server.log 20:55:19.951383 Running IPv4 version 20:55:19.951452 Listening on port 32977 20:55:19.951489 Wrote pid 142036 to log/20/server/socks_server.pid 20:55:19.951516 Wrote port 32977 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==142890== ==142890== Process terminating with default action of signal 4 (SIGILL) ==142890== Illegal opcode at address 0x4003082 ==142890== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142890== by 0x4003082: main (tool_main.c:243) === End of file valgrind700 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/23/valgrind726 ../src/curl -q --output log/23/curl726.out --include --trace-ascii log/23/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout726 2> log/23/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/23/ dir after test 726 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind726 ../src/curl -q --output log/23/curl726.out --include --trace-ascii log/23/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout726 2> log/23/stderr726 === End of file commands.log === Start of file http_server.log 20:55:20.960859 ====> Client connect 20:55:20.960879 accept_connection 3 returned 4 20:55:20.960891 accept_connection 3 returned 0 20:55:20.960900 Read 93 bytes 20:55:20.960907 Process 93 bytes request 20:55:20.960916 Got request: GET /verifiedserver HTTP/1.1 20:55:20.960923 Are-we-friendly question received 20:55:20.960938 Wrote request (93 bytes) input to log/23/server.input 20:55:20.960949 Identifying ourselves as friends 20:55:20.960984 Response sent (57 bytes) and written to log/23/server.response 20:55:20.960990 special request received, no persistency 20:55:20.960996 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind726 ==142953== ==142953== Process terminating with default action of signal 4 (SIGILL) ==142953== Illegal opcode at address 0x4003082 ==142953== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142953== by 0x4003082: main (tool_main.c:243) === End 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/9/valgrind703 ../src/curl -q --output log/9/curl703.out --include --trace-ascii log/9/trace703 --trace-config all --trace-time --socks5 127.0.0.1:35259 http://127.0.0.1:47 > log/9/stdout703 2> log/9/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/12/valgrind708 ../src/curl -q --output log/12/curl708.out --include --trace-ascii log/12/trace708 --trace-config all --trace-time http://127.0.0.1:33337/708 > log/12/stdout708 2> log/12/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/13/valgrind706 ../src/curl -q --output log/13/curl706.out --include --trace-ascii log/13/trace706 --trace-config all --trace-time --socks4 127.0.0.1:36367 ftp://127.0.0.1:43911/ > log/13/stdout706 2> log/13/stderr706 726 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 142114 * pid socks => 142114 142114 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/9/valgrind703 ../src/curl -q --output log/9/curl703.out --include --trace-ascii log/9/trace703 --trace-config all --trace-time --socks5 127.0.0.1:35259 http://127.0.0.1:47 > log/9/stdout703 2> log/9/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/9/ dir after test 703 === Start of file commands.log ../libtool --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/valgrind703 ../src/curl -q --output log/9/curl703.out --include --trace-ascii log/9/trace703 --trace-config all --trace-time --socks5 127.0.0.1:35259 http://127.0.0.1:47 > log/9/stdout703 2> log/9/stderr703 === End of file commands.log === Start of file server.cmd response 1 Testnum 703 === End of file server.cmd === Start of file socks_server.log 20:55:19.084820 Running IPv4 version 20:55:19.084923 Listening on port 35259 20:55:19.084974 Wrote pid 142114 to log/9/server/socks_server.pid 20:55:19.085004 Wrote port 35259 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==143152== ==143152== Process terminating with default action of signal 4 (SIGILL) ==143152== Illegal opcode at address 0x4003082 ==143152== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143152== by 0x4003082: main (tool_main.c:243) === End of file valgrind703 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 142220 * pid socks => 142220 142220 setenv all_proxy = socks4://127.0.0.1:42547 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/12/valgrind708 ../src/curl -q --output log/12/curl708.out --include --trace-ascii log/12/trace708 --trace-config all --trace-time http://127.0.0.1:33337/708 > log/12/stdout708 2> log/12/stderr708 708: 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 708 === Start of file commands.log ../libtool --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/valgrind708 ../src/curl -q --output log/12/curl708.out --include --trace-ascii log/12/trace708 --trace-config all --trace-time http://127.0.0.1:33337/708 > log/12/stdout708 2> log/12/stderr708 === End of file commands.log === Start of file http_server.log 20:55:20.147225 ====> Client connect 20:55:20.147248 accept_connection 3 returned 4 20:55:20.147261 accept_connection 3 returned 0 20:55:20.147271 Read 93 bytes 20:55:20.147278 Process 93 bytes request 20:55:20.147289 Got request: GET /verifiedserver HTTP/1.1 20:55:20.147295 Are-we-friendly question received 20:55:20.147313 Wrote request (93 bytes) input to log/12/server.input 20:55:20.147324 Identifying ourselves as friends 20:55:20.147362 Response sent (57 bytes) and written to log/12/server.response 20:55:20.147369 special request received, no persistency 20:55:20.147375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file socks_server.log 20:55:19.151811 Running IPv4 version 20:55:19.151866 Listening on port 42547 20:55:19.151898 Wrote pid 142220 to log/12/server/socks_server.pid 20:55:19.151924 Wrote port 42547 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==143201== ==143201== Process terminating with default action of signal 4 (SIGILL) ==143201== Illegal opcode at address 0x4003082 ==143201== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143201== by 0x4003082: main (tool_main.c:243) === End of file valgrind708 startnew: ./server/socksd --port 0 --pidfile log/13/server/socks_server.pid --portfile log/13/server/socks_server.port --reqfile log/13/socksd-request.log --logfile log/13/socks_server.log --backend 127.0.0.1 --config log/13/server.cmd RUN: SOCKS server is now running PID 142296 * pid socks => 142296 142296 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/13/valgrind706 ../src/curl -q --output log/13/curl706.out --include --trace-ascii log/13/trace706 --trace-config all --trace-time --socks4 127.0.0.1:36367 ftp://127.0.0.1:43911/ > log/13/stdout706 2> log/13/stderr706 706: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 706 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind706 ../src/curl -q --output log/13/curl706.out --include --trace-ascii log/13/trace706 --trace-config all --trace-time --socks4 127.0.0.1:36367 ftp://127.0.0.1:43911/ > log/13/stdout706 2> log/13/stderr706 === End of file commands.log === Start of file ftp_server.log 20:55:19.913812 ====> Client connect 20:55:19.913944 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:19.914165 < "USER anonymous" 20:55:19.914202 > "331 We are happy you popped in![CR][LF]" 20:55:19.914348 < "PASS ftp@example.com" 20:55:19.914373 > "230 Welcome you silly person[CR][LF]" 20:55:19.914494 < "PWD" 20:55:19.914520 > "257 "/" is current directory[CR][LF]" 20:55:19.914669 < "EPSV" 20:55:19.914695 ====> Passive DATA channel requested by client 20:55:19.914708 DATA sockfilt for passive data channel starting... 20:55:19.916212 DATA sockfilt for passive data channel started (pid 142191) 20:55:19.916313 DATA sockfilt for passive data channel listens on port 45099 20:55:19.916347 > "229 Entering Passive Mode (|||45099|)[LF]" 20:55:19.916363 Client has been notified that DATA conn will be accepted on port 45099 20:55:19.916538 Client connects to port 45099 20:55:19.916565 ====> Client established passive DATA connection on port 45099 20:55:19.916622 < "TYPE I" 20:55:19.916646 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:19.917022 < "SIZE verifiedserver" 20:55:19.917079 > "213 18[CR][LF]" 20:55:19.917219 < "RETR verifiedserver" 20:55:19.917251 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:19.917322 =====> Closing passive DATA 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/19/valgrind707 ../src/curl -q --output log/19/curl707.out --include --trace-ascii log/19/trace707 --trace-config all --trace-time --socks5 127.0.0.1:44399 ftp://127.0.0.1:44763/ > log/19/stdout707 2> log/19/stderr707 nnection... 20:55:19.917335 Server disconnects passive DATA connection 20:55:19.917430 Server disconnected passive DATA connection 20:55:19.917460 DATA sockfilt for passive data channel quits (pid 142191) 20:55:19.917654 DATA sockfilt for passive data channel quit (pid 142191) 20:55:19.917675 =====> Closed passive DATA connection 20:55:19.917702 > "226 File transfer complete[CR][LF]" 20:55:19.962357 < "QUIT" 20:55:19.962424 > "221 bye bye baby[CR][LF]" 20:55:19.963538 MAIN sockfilt said DISC 20:55:19.963943 ====> Client disconnected 20:55:19.964159 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:19.135236 ====> Client connect 20:55:19.135462 Received DATA (on stdin) 20:55:19.135475 > 160 bytes data, server => client 20:55:19.135486 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:19.135495 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:19.135504 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:19.135563 < 16 bytes data, client => server 20:55:19.135574 'USER anonymous\r\n' 20:55:19.135714 Received DATA (on stdin) 20:55:19.135726 > 33 bytes data, server => client 20:55:19.135737 '331 We are happy you popped in!\r\n' 20:55:19.135790 < 22 bytes data, client => server 20:55:19.135806 'PASS ftp@example.com\r\n' 20:55:19.135881 Received DATA (on stdin) 20:55:19.135892 > 30 bytes data, server => client 20:55:19.135902 '230 Welcome you silly person\r\n' 20:55:19.135949 < 5 bytes data, client => server 20:55:19.135963 'PWD\r\n' 20:55:19.136026 Received DATA (on stdin) 20:55:19.136037 > 30 bytes data, server => client 20:55:19.136047 '257 "/" is current directory\r\n' 20:55:19.136104 < 6 bytes data, client => server 20:55:19.136115 'EPSV\r\n' 20:55:19.137877 Received DATA (on stdin) 20:55:19.137889 > 38 bytes data, server => client 20:55:19.137900 '229 Entering Passive Mode (|||45099|)\n' 20:55:19.138026 < 8 bytes data, client => server 20:55:19.138051 'TYPE I\r\n' 20:55:19.138138 Received DATA (on stdin) 20:55:19.138150 > 33 bytes data, server => client 20:55:19.138159 '200 I modify TYPE as you wanted\r\n' 20:55:19.138406 < 21 bytes data, client => server 20:55:19.138418 'SIZE verifiedserver\r\n' 20:55:19.138592 Received DATA (on stdin) 20:55:19.138603 > 8 bytes data, server => client 20:55:19.138612 '213 18\r\n' 20:55:19.138655 < 21 bytes data, client => server 20:55:19.138665 'RETR verifiedserver\r\n' 20:55:19.138845 Received DATA (on stdin) 20:55:19.138856 > 29 bytes data, server => client 20:55:19.138866 '150 Binary junk (18 bytes).\r\n' 20:55:19.139220 Received DATA (on stdin) 20:55:19.139240 > 28 bytes data, server => client 20:55:19.139251 '226 File transfer complete\r\n' 20:55:19.183698 < 6 bytes data, client => server 20:55:19.183735 'QUIT\r\n' 20:55:19.183919 Received DATA (on stdin) 20:55:19.183933 > 18 bytes data, server => client 20:55:19.183943 '221 bye bye baby\r\n' 20:55:19.184983 ====> Client disconnect 20:55:19.185569 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:19.137564 Running IPv4 version 20:55:19.137615 Listening on port 45099 20:55:19.137649 Wrote pid 142191 to log/13/server/ftp_sockdata.pid 20:55:19.137668 Received PING (on stdin) 20:55:19.137745 Received PORT (on stdin) 20:55:19.137999 ====> Client connect 20:55:19.138810 Received DATA (on stdin) 20:55:19.138827 > 18 bytes data, server => client 20:55:19.138838 'WE ROOLZ: 110831\r\n' 20:55:19.138864 Received DISC (on stdin) 20:55:19.138877 ====> Client forcibly disconnected 20:55:19.138978 Received QUIT (on stdin) 20:55:19.138989 quits 20:55:19.139041 ============> 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 20:55:19.189543 Running IPv4 version 20:55:19.189588 Listening on port 36367 20:55:19.189615 Wrote pid 142296 to log/13/server/socks_server.pid 20:55:19.189636 Wrote port 36367 to log/13/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==143250== ==143250== Process terminating with default action of signal 4 (SIGILL) ==143250== Illegal opcode at address 0x4003082 ==143250== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143250== by 0x4003082: main (tool_main.c:243) === End of file valgrind706 startnew: ./server/socksd --port 0 --pidfile log/19/server/socks_server.pid --portfile log/19/server/socks_server.port --reqfile log/19/socksd-request.log --logfile log/19/socks_server.log --backend 127.0.0.1 --config log/19/server.cmd RUN: SOCKS server is now running PID 142298 * pid socks => 142298 142298 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/19/valgrind707 ../src/curl -q --output log/19/curl707.out --include --trace-ascii log/19/trace707 --trace-config all --trace-time --socks5 127.0.0.1:44399 ftp://127.0.0.1:44763/ > log/19/stdout707 2> log/19/stderr707 707: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 707 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind707 ../src/curl -q --output log/19/curl707.out --include --trace-ascii log/19/trace707 --trace-config all --trace-time --socks5 127.0.0.1:44399 ftp://127.0.0.1:44763/ > log/19/stdout707 2> log/19/stderr707 === End of file commands.log === Start of file ftp_server.log 20:55:19.919790 ====> Client connect 20:55:19.919923 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:19.920184 < "USER anonymous" 20:55:19.920221 > "331 We are happy you popped in![CR][LF]" 20:55:19.920370 < "PASS ftp@example.com" 20:55:19.920397 > "230 Welcome you silly person[CR][LF]" 20:55:19.920561 < "PWD" 20:55:19.920593 > "257 "/" is current directory[CR][LF]" 20:55:19.920748 < "EPSV" 20:55:19.920770 ====> Passive DATA channel requested by client 20:55:19.920781 DATA sockfilt for passive data channel starting... 20:55:19.922596 DATA sockfilt for passive data channel started (pid 142207) 20:55:19.922734 DATA sockfilt for passive data channel listens on port 45737 20:55:19.922781 > "229 Entering Passive Mode (|||45737|)[LF]" 20:55:19.922799 Client has been notified that DATA conn will be accepted on port 45737 20:55:19.923025 Client connects to port 45737 20:55:19.923066 ====> Client established passive DATA connection on port 45737 20:55:19.923140 < "TYPE I" 20:55:19.923172 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:19.923378 < "SIZE verifiedserver" 20:55:19.923419 > "213 18[CR][LF]" 20:55:19.923571 < "RETR verifiedserver" 20:55:19.923602 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:19.923670 =====> Closing passive DATA connection... 20:55:19.923687 Server disconnects passive DATA connection 20:55:19.923890 Server disconnected passive DATA connection 20:55:19.923924 DATA sockfilt for passive data channel quits (pid 142207) 20:55:19.924150 DATA sockfilt for passive data channel quit (pid 142207) 20:55:19.924169 =====> Closed passive DATA connection 20:55:19.924197 > "226 File transfer complete[CR][LF]" 20:55:19.968978 < "QUIT" 20:55:19.969017 > "221 bye bye baby[CR][LF]" 20:55:19.969156 MAIN sockfilt said DISC 20:55:19.969191 ====> Client disconnected 20:55:19.969242 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:20.141207 ====> Client connect 20:55:20.141445 Received DATA (on stdin) 20:55:20.141460 > 160 bytes data, server => client 20:55:20.141471 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:20.141482 ' \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/8/valgrind710 ../src/curl -q --output log/8/curl710.out --include --trace-ascii log/8/trace710 --trace-config all --trace-time http://127.0.0.1:35791/710 --proxy socks5://127.0.0.1:43323 > log/8/stdout710 2> log/8/stderr710 CMD (33792): ../libtool --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/valgrind709 ../src/curl -q --output log/2/curl709.out --include --trace-ascii log/2/trace709 --trace-config all --trace-time http://127.0.0.1:43815/709 > log/2/stdout709 2> log/2/stderr709 \r\n220- | (__| |_| | ' 20:55:20.141492 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:20.141557 < 16 bytes data, client => server 20:55:20.141572 'USER anonymous\r\n' 20:55:20.141734 Received DATA (on stdin) 20:55:20.141747 > 33 bytes data, server => client 20:55:20.141758 '331 We are happy you popped in!\r\n' 20:55:20.141806 < 22 bytes data, client => server 20:55:20.141820 'PASS ftp@example.com\r\n' 20:55:20.141907 Received DATA (on stdin) 20:55:20.141920 > 30 bytes data, server => client 20:55:20.141930 '230 Welcome you silly person\r\n' 20:55:20.141979 < 5 bytes data, client => server 20:55:20.141996 'PWD\r\n' 20:55:20.142101 Received DATA (on stdin) 20:55:20.142112 > 30 bytes data, server => client 20:55:20.142122 '257 "/" is current directory\r\n' 20:55:20.142200 < 6 bytes data, client => server 20:55:20.142216 'EPSV\r\n' 20:55:20.144318 Received DATA (on stdin) 20:55:20.144334 > 38 bytes data, server => client 20:55:20.144345 '229 Entering Passive Mode (|||45737|)\n' 20:55:20.144510 < 8 bytes data, client => server 20:55:20.144521 'TYPE I\r\n' 20:55:20.144687 Received DATA (on stdin) 20:55:20.144703 > 33 bytes data, server => client 20:55:20.144714 '200 I modify TYPE as you wanted\r\n' 20:55:20.144775 < 21 bytes data, client => server 20:55:20.144793 'SIZE verifiedserver\r\n' 20:55:20.144931 Received DATA (on stdin) 20:55:20.144942 > 8 bytes data, server => client 20:55:20.144951 '213 18\r\n' 20:55:20.144997 < 21 bytes data, client => server 20:55:20.145010 'RETR verifiedserver\r\n' 20:55:20.145197 Received DATA (on stdin) 20:55:20.145208 > 29 bytes data, server => client 20:55:20.145218 '150 Binary junk (18 bytes).\r\n' 20:55:20.145710 Received DATA (on stdin) 20:55:20.145724 > 28 bytes data, server => client 20:55:20.145735 '226 File transfer complete\r\n' 20:55:20.190339 < 6 bytes data, client => server 20:55:20.190365 'QUIT\r\n' 20:55:20.190524 Received DATA (on stdin) 20:55:20.190533 > 18 bytes data, server => client 20:55:20.190541 '221 bye bye baby\r\n' 20:55:20.190606 ====> Client disconnect 20:55:20.190750 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:19.143930 Running IPv4 version 20:55:19.143984 Listening on port 45737 20:55:19.144024 Wrote pid 142207 to log/19/server/ftp_sockdata.pid 20:55:19.144042 Received PING (on stdin) 20:55:19.144150 Received PORT (on stdin) 20:55:19.144482 ====> Client connect 20:55:19.145243 Received DATA (on stdin) 20:55:19.145254 > 18 bytes data, server => client 20:55:19.145264 'WE ROOLZ: 110642\r\n' 20:55:19.145285 Received DISC (on stdin) 20:55:19.145296 ====> Client forcibly disconnected 20:55:19.145451 Received QUIT (on stdin) 20:55:19.145467 quits 20:55:19.145519 ============> 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 20:55:19.195843 Running IPv4 version 20:55:19.195908 Listening on port 44399 20:55:19.195944 Wrote pid 142298 to log/19/server/socks_server.pid 20:55:19.195972 Wrote port 44399 to log/19/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==143263== ==143263== Process terminating with default action of signal 4 (SIGILL) ==143263== Illegal opcode at address 0x4003082 ==143263== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143263== by 0x4003082: main (tool_main.c:243) === End of file valgrind707 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 142351 * pid socks => 142351 142351 setenv http_proxy = socks5://127.0.0.1:43703 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/2/valgrind709 ../src/curl -q --output log/2/curl709.out --include --trace-ascii log/2/trace709 --trace-config all --trace-time http://127.0.0.1:43815/709 > log/2/stdout709 2> log/2/stderr709 709: 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 709 === Start of file commands.log ../libtool --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/valgrind709 ../src/curl -q --output log/2/curl709.out --include --trace-ascii log/2/trace709 --trace-config all --trace-time http://127.0.0.1:43815/709 > log/2/stdout709 2> log/2/stderr709 === End of file commands.log === Start of file http_server.log 20:55:20.314481 ====> Client connect 20:55:20.314515 accept_connection 3 returned 4 20:55:20.314531 accept_connection 3 returned 0 20:55:20.314545 Read 93 bytes 20:55:20.314553 Process 93 bytes request 20:55:20.314564 Got request: GET /verifiedserver HTTP/1.1 20:55:20.314572 Are-we-friendly question received 20:55:20.314596 Wrote request (93 bytes) input to log/2/server.input 20:55:20.314609 Identifying ourselves as friends 20:55:20.314667 Response sent (57 bytes) and written to log/2/server.response 20:55:20.314678 special request received, no persistency 20:55:20.314686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file socks_server.log 20:55:20.319751 Running IPv4 version 20:55:20.319809 Listening on port 43703 20:55:20.319846 Wrote pid 142351 to log/2/server/socks_server.pid 20:55:20.319872 Wrote port 43703 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==143353== ==143353== Process terminating with default action of signal 4 (SIGILL) ==143353== Illegal opcode at address 0x4003082 ==143353== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143353== by 0x4003082: main (tool_main.c:243) === End of file valgrind709 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 142401 * pid socks => 142401 142401 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/8/valgrind710 ../src/curl -q --output log/8/curl710.out --include --trace-ascii log/8/trace710 --trace-config all --trace-time http://127.0.0.1:35791/710 --proxy socks5://127.0.0.1:43323 > log/8/stdout710 2> log/8/stderr710 710: 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 710 === Start of file commands.log ../libtool --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/valgrind710 ../src/curl -q --output log/8/curl710.out --include --trace-ascii log/8/trace710 --trace-config all --trace-time http://127.0.0.1:35791/710 --proxy 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/14/valgrind714 ../src/curl -q --output log/14/curl714.out --include --trace-ascii log/14/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:36539 --proxytunnel --proxy http://127.0.0.1:36203 > log/14/stdout714 2> log/14/stderr714 ocks5://127.0.0.1:43323 > log/8/stdout710 2> log/8/stderr710 === End of file commands.log === Start of file http_server.log 20:55:20.322140 ====> Client connect 20:55:20.322169 accept_connection 3 returned 4 20:55:20.322186 accept_connection 3 returned 0 20:55:20.322197 Read 93 bytes 20:55:20.322205 Process 93 bytes request 20:55:20.322214 Got request: GET /verifiedserver HTTP/1.1 20:55:20.322221 Are-we-friendly question received 20:55:20.322241 Wrote request (93 bytes) input to log/8/server.input 20:55:20.322253 Identifying ourselves as friends 20:55:20.322300 Response sent (57 bytes) and written to log/8/server.response 20:55:20.322308 special request received, no persistency 20:55:20.322314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file socks_server.log 20:55:20.327831 Running IPv4 version 20:55:20.327875 Listening on port 43323 20:55:20.327902 Wrote pid 142401 to log/8/server/socks_server.pid 20:55:20.327923 Wrote port 43323 to log/8/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==143366== ==143366== Process terminating with default action of signal 4 (SIGILL) ==143366== Illegal opcode at address 0x4003082 ==143366== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143366== by 0x4003082: main (tool_main.c:243) === End of file valgrind710 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/14/server/http2_server.pid" --logfile "log/14/http2_server.log" --logdir "log/14" --portfile log/14/server/http2_server.port --config log/14/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 142468 port 36203 * pid http-proxy => 142468 142468 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/14/valgrind714 ../src/curl -q --output log/14/curl714.out --include --trace-ascii log/14/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:36539 --proxytunnel --proxy http://127.0.0.1:36203 > log/14/stdout714 2> log/14/stderr714 714: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 714 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind714 ../src/curl -q --output log/14/curl714.out --include --trace-ascii log/14/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:36539 --proxytunnel --proxy http://127.0.0.1:36203 > log/14/stdout714 2> log/14/stderr714 === End of file commands.log === Start of file ftp_server.log 20:55:20.110885 ====> Client connect 20:55:20.111000 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:20.112233 < "USER anonymous" 20:55:20.112266 > "331 We are happy you popped in![CR][LF]" 20:55:20.112366 < "PASS ftp@example.com" 20:55:20.112386 > "230 Welcome you silly person[CR][LF]" 20:55:20.112495 < "PWD" 20:55:20.112516 > "257 "/" is current directory[CR][LF]" 20:55:20.112631 < "EPSV" 20:55:20.112651 ====> Passive DATA channel requested by client 20:55:20.112662 DATA sockfilt for passive data channel starting... 20:55:20.114294 DATA sockfilt for passive data channel started (pid 142434) 20:55:20.114390 DATA sockfilt for passive data channel listens on port 33169 20:55:20.114427 > "229 Entering Passive Mode (|||33169|)[LF]" 20:55:20.114444 Client has been notified that DATA conn will be accepted on port 33169 20:55:20.114610 Client connects to port 33169 20:55:20.114636 ====> Client established passive DATA connection on port 33169 20:55:20.114697 < "TYPE I" 20:55:20.114724 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:20.114843 < "SIZE verifiedserver" 20:55:20.114875 > "213 18[CR][LF]" 20:55:20.115017 < "RETR verifiedserver" 20:55:20.115048 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:20.115112 =====> Closing passive DATA connection... 20:55:20.115124 Server disconnects passive DATA connection 20:55:20.115304 Server disconnected passive DATA connection 20:55:20.115325 DATA sockfilt for passive data channel quits (pid 142434) 20:55:20.115598 DATA sockfilt for passive data channel quit (pid 142434) 20:55:20.115621 =====> Closed passive DATA connection 20:55:20.115644 > "226 File transfer complete[CR][LF]" 20:55:20.155890 < "QUIT" 20:55:20.155938 > "221 bye bye baby[CR][LF]" 20:55:20.156085 MAIN sockfilt said DISC 20:55:20.156116 ====> Client disconnected 20:55:20.156163 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:20.332306 ====> Client connect 20:55:20.333523 Received DATA (on stdin) 20:55:20.333540 > 160 bytes data, server => client 20:55:20.333551 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:20.333560 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:20.333568 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:20.333623 < 16 bytes data, client => server 20:55:20.333633 'USER anonymous\r\n' 20:55:20.333758 Received DATA (on stdin) 20:55:20.333772 > 33 bytes data, server => client 20:55:20.333780 '331 We are happy you popped in!\r\n' 20:55:20.333820 < 22 bytes data, client => server 20:55:20.333828 'PASS ftp@example.com\r\n' 20:55:20.333890 Received DATA (on stdin) 20:55:20.333899 > 30 bytes data, server => client 20:55:20.333906 '230 Welcome you silly person\r\n' 20:55:20.333943 < 5 bytes data, client => server 20:55:20.333951 'PWD\r\n' 20:55:20.334018 Received DATA (on stdin) 20:55:20.334026 > 30 bytes data, server => client 20:55:20.334034 '257 "/" is current directory\r\n' 20:55:20.334071 < 6 bytes data, client => server 20:55:20.334081 'EPSV\r\n' 20:55:20.335959 Received DATA (on stdin) 20:55:20.335976 > 38 bytes data, server => client 20:55:20.335986 '229 Entering Passive Mode (|||33169|)\n' 20:55:20.336097 < 8 bytes data, client => server 20:55:20.336108 'TYPE I\r\n' 20:55:20.336230 Received DATA (on stdin) 20:55:20.336243 > 33 bytes data, server => client 20:55:20.336252 '200 I modify TYPE as you wanted\r\n' 20:55:20.336297 < 21 bytes data, client => server 20:55:20.336309 'SIZE verifiedserver\r\n' 20:55:20.336384 Received DATA (on stdin) 20:55:20.336397 > 8 bytes data, server => client 20:55:20.336406 '213 18\r\n' 20:55:20.336456 < 21 bytes data, client => server 20:55:20.336470 'RETR verifiedserver\r\n' 20:55:20.336631 Received DATA (on stdin) 20:55:20.336641 > 29 bytes data, server => client 20:55:20.336650 '150 Binary junk (18 bytes).\r\n' 20:55:20.337151 Received DATA (on stdin) 20:55:20.337162 > 28 bytes data, server => client 20:55:20.337171 '226 File transfer complete\r\n' 20:55:20.377270 < 6 bytes data, client => server 20:55:20.377286 'QUIT\r\n' 20:55:20.377453 Received DATA (on stdin) 20:55:20.377467 > 18 bytes data, server => client 20:55:20.377479 '221 bye bye baby\r\n' 20:55:20.37754CMD (33792): ../libtool --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/valgrind717 ../src/curl -q --output log/3/curl717.out --include --trace-ascii log/3/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:38167 > log/3/stdout717 2> log/3/stderr717 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind733 ../src/curl -q --output log/23/curl733.out --include --trace-ascii log/23/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38539 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/23/stdout733 2> log/23/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/18/valgrind730 ../src/curl -q --output log/18/curl730.out --include --trace-ascii log/18/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34637/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout730 2> log/18/stderr730 9 ====> Client disconnect 20:55:20.377657 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:20.335541 Running IPv4 version 20:55:20.335593 Listening on port 33169 20:55:20.335632 Wrote pid 142434 to log/14/server/ftp_sockdata.pid 20:55:20.335750 Received PING (on stdin) 20:55:20.335823 Received PORT (on stdin) 20:55:20.336073 ====> Client connect 20:55:20.336675 Received DATA (on stdin) 20:55:20.336686 > 18 bytes data, server => client 20:55:20.336694 'WE ROOLZ: 110708\r\n' 20:55:20.336714 Received DISC (on stdin) 20:55:20.336723 ====> Client forcibly disconnected 20:55:20.336838 Received QUIT (on stdin) 20:55:20.336868 quits 20:55:20.336920 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 20:55:20.393678 Run as proxy, CONNECT to host 127.0.0.1 20:55:20.393745 Running HTTP IPv4 version on port 36203 20:55:20.393777 Wrote pid 142468 to log/14/server/http2_server.pid 20:55:20.393800 Wrote port 36203 to log/14/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 ==143542== ==143542== Process terminating with default action of signal 4 (SIGILL) ==143542== Illegal opcode at address 0x4003082 ==143542== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143542== by 0x4003082: main (tool_main.c:243) === End of file valgrind714 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 142474 * pid socks => 142474 142474 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/3/valgrind717 ../src/curl -q --output log/3/curl717.out --include --trace-ascii log/3/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:38167 > log/3/stdout717 2> log/3/stderr717 717: 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 717 === Start of file commands.log ../libtool --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/valgrind717 ../src/curl -q --output log/3/curl717.out --include --trace-ascii log/3/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:38167 > log/3/stdout717 2> log/3/stderr717 === End of file commands.log === Start of file http_server.log 20:55:21.444236 ====> Client connect 20:55:21.444275 accept_connection 3 returned 4 20:55:21.444294 accept_connection 3 returned 0 20:55:21.444309 Read 93 bytes 20:55:21.444320 Process 93 bytes request 20:55:21.444333 Got request: GET /verifiedserver HTTP/1.1 20:55:21.444343 Are-we-friendly question received 20:55:21.444371 Wrote request (93 bytes) input to log/3/server.input 20:55:21.444388 Identifying ourselves as friends 20:55:21.444445 Response sent (57 bytes) and written to log/3/server.response 20:55:21.444454 special request received, no persistency 20:55:21.444462 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 33171 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104814 === End of file server.response === Start of file socks_server.log 20:55:20.424338 Running IPv4 version 20:55:20.424379 Listening on port 38167 20:55:20.424404 Wrote pid 142474 to log/3/server/socks_server.pid 20:55:20.424424 Wrote port 38167 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==144025== ==144025== Process terminating with default action of signal 4 (SIGILL) ==144025== Illegal opcode at address 0x4003082 ==144025== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144025== by 0x4003082: main (tool_main.c:243) === End of file valgrind717 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/23/valgrind733 ../src/curl -q --output log/23/curl733.out --include --trace-ascii log/23/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38539 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/23/stdout733 2> log/23/stderr733 733: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 733 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind733 ../src/curl -q --output log/23/curl733.out --include --trace-ascii log/23/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38539 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/23/stdout733 2> log/23/stderr733 === End of file commands.log === Start of file http_server.log 20:55:21.383805 ====> Client connect 20:55:21.383830 accept_connection 3 returned 4 20:55:21.383843 accept_connection 3 returned 0 20:55:21.383854 Read 93 bytes 20:55:21.383861 Process 93 bytes request 20:55:21.383869 Got request: GET /verifiedserver HTTP/1.1 20:55:21.383875 Are-we-friendly question received 20:55:21.383891 Wrote request (93 bytes) input to log/23/server.input 20:55:21.383902 Identifying ourselves as friends 20:55:21.383938 Response sent (57 bytes) and written to log/23/server.response 20:55:21.383944 special request received, no persistency 20:55:21.383951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === 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: 18 WE ROOLZ: 104804 === End of file server.response === Start of file valgrind733 ==143582== ==143582== Process terminating with default action of signal 4 (SIGILL) ==143582== Illegal opcode at address 0x4003082 ==143582== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143582== by 0x4003082: main (tool_main.c:243) === End of file valgrind733 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/18/valgrind730 ../src/curl -q --output log/18/curl730.out --include --trace-ascii log/18/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34637/foo/CMD (33792): ../libtool --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/valgrind712 ../src/curl -q --output log/11/curl712.out --include --trace-ascii log/11/trace712 --trace-config all --trace-time ftp://127.0.0.1:45405/712 --proxy socks5://127.0.0.1:43141 > log/11/stdout712 2> log/11/stderr712 bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout730 2> log/18/stderr730 730: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 730 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind730 ../src/curl -q --output log/18/curl730.out --include --trace-ascii log/18/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34637/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout730 2> log/18/stderr730 === End of file commands.log === Start of file http_server.log 20:55:21.380535 ====> Client connect 20:55:21.380557 accept_connection 3 returned 4 20:55:21.380570 accept_connection 3 returned 0 20:55:21.380580 Read 93 bytes 20:55:21.380587 Process 93 bytes request 20:55:21.380596 Got request: GET /verifiedserver HTTP/1.1 20:55:21.380603 Are-we-friendly question received 20:55:21.380619 Wrote request (93 bytes) input to log/18/server.input 20:55:21.380631 Identifying ourselves as friends 20:55:21.380667 Response sent (57 bytes) and written to log/18/server.response 20:55:21.380675 special request received, no persistency 20:55:21.380681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === 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: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind730 ==143548== ==143548== Process terminating with default action of signal 4 (SIGILL) ==143548== Illegal opcode at address 0x4003082 ==143548== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143548== by 0x4003082: main (tool_main.c:243) === End of file valgrind730 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 142470 * pid socks => 142470 142470 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/11/valgrind712 ../src/curl -q --output log/11/curl712.out --include --trace-ascii log/11/trace712 --trace-config all --trace-time ftp://127.0.0.1:45405/712 --proxy socks5://127.0.0.1:43141 > log/11/stdout712 2> log/11/stderr712 712: 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 712 === Start of file commands.log ../libtool --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/valgrind712 ../src/curl -q --output log/11/curl712.out --include --trace-ascii log/11/trace712 --trace-config all --trace-time ftp://127.0.0.1:45405/712 --proxy socks5://127.0.0.1:43141 > log/11/stdout712 2> log/11/stderr712 === End of file commands.log === Start of file ftp_server.log 20:55:20.110898 ====> Client connect 20:55:20.111010 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:20.111210 < "USER anonymous" 20:55:20.111242 > "331 We are happy you popped in![CR][LF]" 20:55:20.111400 < "PASS ftp@example.com" 20:55:20.111427 > "230 Welcome you silly person[CR][LF]" 20:55:20.111567 < "PWD" 20:55:20.111596 > "257 "/" is current directory[CR][LF]" 20:55:20.111779 < "EPSV" 20:55:20.111826 ====> Passive DATA channel requested by client 20:55:20.111851 DATA sockfilt for passive data channel starting... 20:55:20.113368 DATA sockfilt for passive data channel started (pid 142431) 20:55:20.113460 DATA sockfilt for passive data channel listens on port 37271 20:55:20.113488 > "229 Entering Passive Mode (|||37271|)[LF]" 20:55:20.113502 Client has been notified that DATA conn will be accepted on port 37271 20:55:20.113662 Client connects to port 37271 20:55:20.113685 ====> Client established passive DATA connection on port 37271 20:55:20.113736 < "TYPE I" 20:55:20.113755 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:20.113863 < "SIZE verifiedserver" 20:55:20.113888 > "213 18[CR][LF]" 20:55:20.113989 < "RETR verifiedserver" 20:55:20.114017 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:20.114079 =====> Closing passive DATA connection... 20:55:20.114092 Server disconnects passive DATA connection 20:55:20.114193 Server disconnected passive DATA connection 20:55:20.114210 DATA sockfilt for passive data channel quits (pid 142431) 20:55:20.114424 DATA sockfilt for passive data channel quit (pid 142431) 20:55:20.114446 =====> Closed passive DATA connection 20:55:20.114472 > "226 File transfer complete[CR][LF]" 20:55:20.159120 < "QUIT" 20:55:20.159162 > "221 bye bye baby[CR][LF]" 20:55:20.160179 MAIN sockfilt said DISC 20:55:20.160216 ====> Client disconnected 20:55:20.160276 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:20.332317 ====> Client connect 20:55:20.332522 Received DATA (on stdin) 20:55:20.332534 > 160 bytes data, server => client 20:55:20.332542 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:20.332550 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:20.332557 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:20.332607 < 16 bytes data, client => server 20:55:20.332616 'USER anonymous\r\n' 20:55:20.332753 Received DATA (on stdin) 20:55:20.332765 > 33 bytes data, server => client 20:55:20.332775 '331 We are happy you popped in!\r\n' 20:55:20.332821 < 22 bytes data, client => server 20:55:20.332833 'PASS ftp@example.com\r\n' 20:55:20.332935 Received DATA (on stdin) 20:55:20.332946 > 30 bytes data, server => client 20:55:20.332957 '230 Welcome you silly person\r\n' 20:55:20.333001 < 5 bytes data, client => server 20:55:20.333011 'PWD\r\n' 20:55:20.333106 Received DATA (on stdin) 20:55:20.333117 > 30 bytes data, server => client 20:55:20.333127 '257 "/" is current directory\r\n' 20:55:20.333182 < 6 bytes data, client => server 20:55:20.333194 'EPSV\r\n' 20:55:20.335011 Received DATA (on stdin) 20:55:20.335021 > 38 bytes data, server => client 20:55:20.335029 '229 Entering Passive Mode (|||37271|)\n' 20:55:20.335127 < 8 bytes data, client => server 20:55:20.335136 'TYPE I\r\n' 20:55:20.335260 Received DATA (on stdin) 20:55:20.335268 > 33 bytes data, server => client 20:55:20.335276 '200 I modify TYPE as you wanted\r\n' 20:55:20.335310 < 21 bytes data, client => server 20:55:20.335318 'SIZE verifiedserver\r\n' 20:55:20.335391 Received DATA (on stdin) 20:55:20.335400 > 8 bytes data, server => client 20:55:20.335407 '213 18\r\n' 20:55:20.335438 < 21 bytes data, client => server 20:55:20.335446 'RETR verifiedserver\r\n' 20:55:20.335647 Received DATA (on stdin) 20:55:20.335664 > 29 bytes data, server => client 20:55:20.335675 '150 Binary junk (18 bytes).\r\n' 20:55:20.335977 Received DATA (on stdin) 20:55:20.335993 > 28 bytes data, server => client 20:55:20.336004 '226 File transfer complete\r\n' 20:55:20.380495 < 6 bytes data, client => 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/20/valgrind732 ../src/curl -q --output log/20/curl732.out --include --trace-ascii log/20/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:41293 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/20/stdout732 2> log/20/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/5/valgrind729 ../src/curl -q --output log/5/curl729.out --include --trace-ascii log/5/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:37103 > log/5/stdout729 2> log/5/stderr729 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind711 ../src/curl -q --output log/16/curl711.out --include --trace-ascii log/16/trace711 --trace-config all --trace-time ftp://127.0.0.1:35865/711 > log/16/stdout711 2> log/16/stderr711 20:55:20.380513 'QUIT\r\n' 20:55:20.380668 Received DATA (on stdin) 20:55:20.380677 > 18 bytes data, server => client 20:55:20.380684 '221 bye bye baby\r\n' 20:55:20.381630 ====> Client disconnect 20:55:20.381752 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:20.334732 Running IPv4 version 20:55:20.334776 Listening on port 37271 20:55:20.334809 Wrote pid 142431 to log/11/server/ftp_sockdata.pid 20:55:20.334825 Received PING (on stdin) 20:55:20.334899 Received PORT (on stdin) 20:55:20.335107 ====> Client connect 20:55:20.335601 Received DATA (on stdin) 20:55:20.335613 > 18 bytes data, server => client 20:55:20.335623 'WE ROOLZ: 110833\r\n' 20:55:20.335645 Received DISC (on stdin) 20:55:20.335657 ====> Client forcibly disconnected 20:55:20.335722 Received QUIT (on stdin) 20:55:20.335732 quits 20:55:20.335788 ============> 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 20:55:20.386600 Running IPv4 version 20:55:20.386660 Listening on port 43141 20:55:20.386694 Wrote pid 142470 to log/11/server/socks_server.pid 20:55:20.386721 Wrote port 43141 to log/11/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==143545== ==143545== Process terminating with default action of signal 4 (SIGILL) ==143545== Illegal opcode at address 0x4003082 ==143545== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143545== by 0x4003082: main (tool_main.c:243) === End of file valgrind712 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/20/valgrind732 ../src/curl -q --output log/20/curl732.out --include --trace-ascii log/20/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:41293 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/20/stdout732 2> log/20/stderr732 732: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 732 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind732 ../src/curl -q --output log/20/curl732.out --include --trace-ascii log/20/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:41293 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/20/stdout732 2> log/20/stderr732 === End of file commands.log === Start of file http_server.log 20:55:21.383817 ====> Client connect 20:55:21.383850 accept_connection 3 returned 4 20:55:21.383867 accept_connection 3 returned 0 20:55:21.383880 Read 93 bytes 20:55:21.383889 Process 93 bytes request 20:55:21.383899 Got request: GET /verifiedserver HTTP/1.1 20:55:21.383907 Are-we-friendly question received 20:55:21.383928 Wrote request (93 bytes) input to log/20/server.input 20:55:21.383943 Identifying ourselves as friends 20:55:21.383999 Response sent (57 bytes) and written to log/20/server.response 20:55:21.384008 special request received, no persistency 20:55:21.384017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === 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: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind732 ==143570== ==143570== Process terminating with default action of signal 4 (SIGILL) ==143570== Illegal opcode at address 0x4003082 ==143570== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143570== by 0x4003082: main (tool_main.c:243) === End of file valgrind732 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/5/valgrind729 ../src/curl -q --output log/5/curl729.out --include --trace-ascii log/5/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:37103 > log/5/stdout729 2> log/5/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/5/ dir after test 729 === Start of file commands.log ../libtool --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/valgrind729 ../src/curl -q --output log/5/curl729.out --include --trace-ascii log/5/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:37103 > log/5/stdout729 2> log/5/stderr729 === End of file commands.log === Start of file http_server.log 20:55:21.376298 ====> Client connect 20:55:21.376323 accept_connection 3 returned 4 20:55:21.376336 accept_connection 3 returned 0 20:55:21.376348 Read 93 bytes 20:55:21.376356 Process 93 bytes request 20:55:21.376366 Got request: GET /verifiedserver HTTP/1.1 20:55:21.376373 Are-we-friendly question received 20:55:21.376389 Wrote request (93 bytes) input to log/5/server.input 20:55:21.376400 Identifying ourselves as friends 20:55:21.376440 Response sent (57 bytes) and written to log/5/server.response 20:55:21.376449 special request received, no persistency 20:55:21.376457 ====> Client disconnect 0 === End 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/22/valgrind716 ../src/curl -q --output log/22/curl716.out --include --trace-ascii log/22/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:40345 > log/22/stdout716 2> log/22/stderr716 file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33725... * Connected to 127.0.0.1 (127.0.0.1) port 33725 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33725 > User-Agent: curl/8.14.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: 107202 === 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: 18 WE ROOLZ: 107202 === End of file server.response === Start of file valgrind729 ==143529== ==143529== Process terminating with default action of signal 4 (SIGILL) ==143529== Illegal opcode at address 0x4003082 ==143529== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143529== by 0x4003082: main (tool_main.c:243) === End of file valgrind729 startnew: ./server/socksd --port 0 --pidfile log/16/server/socks_server.pid --portfile log/16/server/socks_server.port --reqfile log/16/socksd-request.log --logfile log/16/socks_server.log --backend 127.0.0.1 --config log/16/server.cmd RUN: SOCKS server is now running PID 142467 * pid socks => 142467 142467 setenv all_proxy = socks5://127.0.0.1:42673 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/16/valgrind711 ../src/curl -q --output log/16/curl711.out --include --trace-ascii log/16/trace711 --trace-config all --trace-time ftp://127.0.0.1:35865/711 > log/16/stdout711 2> log/16/stderr711 711: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind711 ../src/curl -q --output log/16/curl711.out --include --trace-ascii log/16/trace711 --trace-config all --trace-time ftp://127.0.0.1:35865/711 > log/16/stdout711 2> log/16/stderr711 === End of file commands.log === Start of file ftp_server.log 20:55:20.106183 ====> Client connect 20:55:20.106332 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:20.106578 < "USER anonymous" 20:55:20.106619 > "331 We are happy you popped in![CR][LF]" 20:55:20.106806 < "PASS ftp@example.com" 20:55:20.106838 > "230 Welcome you silly person[CR][LF]" 20:55:20.107050 < "PWD" 20:55:20.107098 > "257 "/" is current directory[CR][LF]" 20:55:20.107258 < "EPSV" 20:55:20.107279 ====> Passive DATA channel requested by client 20:55:20.107290 DATA sockfilt for passive data channel starting... 20:55:20.108901 DATA sockfilt for passive data channel started (pid 142423) 20:55:20.108999 DATA sockfilt for passive data channel listens on port 38031 20:55:20.109038 > "229 Entering Passive Mode (|||38031|)[LF]" 20:55:20.109053 Client has been notified that DATA conn will be accepted on port 38031 20:55:20.109197 Client connects to port 38031 20:55:20.109217 ====> Client established passive DATA connection on port 38031 20:55:20.109267 < "TYPE I" 20:55:20.109292 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:20.109416 < "SIZE verifiedserver" 20:55:20.109447 > "213 18[CR][LF]" 20:55:20.109584 < "RETR verifiedserver" 20:55:20.109611 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:20.109687 =====> Closing passive DATA connection... 20:55:20.109702 Server disconnects passive DATA connection 20:55:20.109850 Server disconnected passive DATA connection 20:55:20.109872 DATA sockfilt for passive data channel quits (pid 142423) 20:55:20.110069 DATA sockfilt for passive data channel quit (pid 142423) 20:55:20.110093 =====> Closed passive DATA connection 20:55:20.110116 > "226 File transfer complete[CR][LF]" 20:55:20.152310 < "QUIT" 20:55:20.152357 > "221 bye bye baby[CR][LF]" 20:55:20.152878 MAIN sockfilt said DISC 20:55:20.152899 ====> Client disconnected 20:55:20.152957 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:20.327593 ====> Client connect 20:55:20.327828 Received DATA (on stdin) 20:55:20.327853 > 160 bytes data, server => client 20:55:20.327866 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:20.327878 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:20.327888 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:20.327971 < 16 bytes data, client => server 20:55:20.327990 'USER anonymous\r\n' 20:55:20.328133 Received DATA (on stdin) 20:55:20.328148 > 33 bytes data, server => client 20:55:20.328159 '331 We are happy you popped in!\r\n' 20:55:20.328218 < 22 bytes data, client => server 20:55:20.328229 'PASS ftp@example.com\r\n' 20:55:20.328348 Received DATA (on stdin) 20:55:20.328368 > 30 bytes data, server => client 20:55:20.328379 '230 Welcome you silly person\r\n' 20:55:20.328444 < 5 bytes data, client => server 20:55:20.328456 'PWD\r\n' 20:55:20.328610 Received DATA (on stdin) 20:55:20.328622 > 30 bytes data, server => client 20:55:20.328633 '257 "/" is current directory\r\n' 20:55:20.328691 < 6 bytes data, client => server 20:55:20.328702 'EPSV\r\n' 20:55:20.330527 Received DATA (on stdin) 20:55:20.330542 > 38 bytes data, server => client 20:55:20.330552 '229 Entering Passive Mode (|||38031|)\n' 20:55:20.330685 < 8 bytes data, client => server 20:55:20.330696 'TYPE I\r\n' 20:55:20.330799 Received DATA (on stdin) 20:55:20.330810 > 33 bytes data, server => client 20:55:20.330820 '200 I modify TYPE as you wanted\r\n' 20:55:20.330869 < 21 bytes data, client => server 20:55:20.330882 'SIZE verifiedserver\r\n' 20:55:20.330954 Received DATA (on stdin) 20:55:20.330965 > 8 bytes data, server => client 20:55:20.330975 '213 18\r\n' 20:55:20.331018 < 21 bytes data, client => server 20:55:20.331029 'RETR verifiedserver\r\n' 20:55:20.331162 Received DATA (on stdin) 20:55:20.331177 > 29 bytes data, server => client 20:55:20.331188 '150 Binary junk (18 bytes).\r\n' 20:55:20.331623 Received DATA (on stdin) 20:55:20.331635 > 28 bytes data, server => client 20:55:20.331644 '226 File transfer complete\r\n' 20:55:20.373642 < 6 bytes data, client => server 20:55:20.373665 'QUIT\r\n' 20:55:20.373855 Received DATA (on stdin) 20:55:20.373882 > 18 bytes data, server => client 20:55:20.373892 '221 bye bye baby\r\n' 20:55:20.374011 ====> Client disconnect 20:55:20.374459 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:20.330166 Running IPv4 version 20:55:20.330228 Listening on port 38031 20:55:20.330264 Wrote pid 142423 to log/16/server/ftp_sockdata.pid 20:55:20.330352 Received PING (on stdin) 20:55:20.330432 Received PORT (on stdin) 20:55:20.330660 ====> Client connect 20:55:20.331212 Received DATA (on stdin) 20:55:20.331224 > 18 bytes data, server => client 20:55:20.331233 'WE ROOLZ: 110697\r\n' 20:55:20.331259 Received DISC (on stdin) 20:55:20.331270 ====> Client forcibly disconnected 20:55:20.331386 Received QUIT (on stdin) 20:55:20.331396 quits 20:55:20.331445 ============> 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 20:55:20.377880 Running IPv4 version 20:55:20.377917 Listening on port 42673 20:55:20.377940 Wrote pid 142467 to log/16/server/socks_server.pid 20:55:20.377959 Wrote port 42673 to log/16/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==143527== ==143527== Process terminating with default action of signal 4 (SIGILL) ==143527== Illegal opcode at address 0x4003082 ==143527== at 0x4003082: UnkCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind713 ../src/curl -q --output log/15/curl713.out --include --trace-ascii log/15/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:41165 --proxy socks5://127.0.0.1:43181 > log/15/stdout713 2> log/15/stderr713 nownInlinedFun (string_fortified.h:59) ==143527== by 0x4003082: main (tool_main.c:243) === End of file valgrind711 startnew: ./server/socksd --port 0 --pidfile log/22/server/socks_server.pid --portfile log/22/server/socks_server.port --reqfile log/22/socksd-request.log --logfile log/22/socks_server.log --backend 127.0.0.1 --config log/22/server.cmd RUN: SOCKS server is now running PID 142473 * pid socks => 142473 142473 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/22/valgrind716 ../src/curl -q --output log/22/curl716.out --include --trace-ascii log/22/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:40345 > log/22/stdout716 2> log/22/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/22/ dir after test 716 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind716 ../src/curl -q --output log/22/curl716.out --include --trace-ascii log/22/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:40345 > log/22/stdout716 2> log/22/stderr716 === End of file commands.log === Start of file server.cmd method 2 Testnum 716 === End of file server.cmd === Start of file socks_server.log 20:55:20.420330 Running IPv4 version 20:55:20.420391 Listening on port 40345 20:55:20.420434 Wrote pid 142473 to log/22/server/socks_server.pid 20:55:20.420461 Wrote port 40345 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==143943== ==143943== Process terminating with default action of signal 4 (SIGILL) ==143943== Illegal opcode at address 0x4003082 ==143943== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143943== by 0x4003082: main (tool_main.c:243) === End of file valgrind716 startnew: ./server/socksd --port 0 --pidfile log/15/server/socks_server.pid --portfile log/15/server/socks_server.port --reqfile log/15/socksd-request.log --logfile log/15/socks_server.log --backend 127.0.0.1 --config log/15/server.cmd RUN: SOCKS server is now running PID 142471 * pid socks => 142471 142471 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/15/valgrind713 ../src/curl -q --output log/15/curl713.out --include --trace-ascii log/15/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:41165 --proxy socks5://127.0.0.1:43181 > log/15/stdout713 2> log/15/stderr713 713: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 713 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind713 ../src/curl -q --output log/15/curl713.out --include --trace-ascii log/15/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:41165 --proxy socks5://127.0.0.1:43181 > log/15/stdout713 2> log/15/stderr713 === End of file commands.log === Start of file ftp_server.log 20:55:20.113376 ====> Client connect 20:55:20.113491 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:20.113711 < "USER anonymous" 20:55:20.113744 > "331 We are happy you popped in![CR][LF]" 20:55:20.113868 < "PASS ftp@example.com" 20:55:20.113888 > "230 Welcome you silly person[CR][LF]" 20:55:20.113991 < "PWD" 20:55:20.114016 > "257 "/" is current directory[CR][LF]" 20:55:20.114121 < "EPSV" 20:55:20.114137 ====> Passive DATA channel requested by client 20:55:20.114147 DATA sockfilt for passive data channel starting... 20:55:20.115498 DATA sockfilt for passive data channel started (pid 142437) 20:55:20.115612 DATA sockfilt for passive data channel listens on port 41441 20:55:20.115654 > "229 Entering Passive Mode (|||41441|)[LF]" 20:55:20.115673 Client has been notified that DATA conn will be accepted on port 41441 20:55:20.115832 Client connects to port 41441 20:55:20.115875 ====> Client established passive DATA connection on port 41441 20:55:20.115959 < "TYPE I" 20:55:20.115996 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:20.116156 < "SIZE verifiedserver" 20:55:20.116186 > "213 18[CR][LF]" 20:55:20.116289 < "RETR verifiedserver" 20:55:20.116317 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:20.116375 =====> Closing passive DATA connection... 20:55:20.116385 Server disconnects passive DATA connection 20:55:20.116502 Server disconnected passive DATA connection 20:55:20.116519 DATA sockfilt for passive data channel quits (pid 142437) 20:55:20.116687 DATA sockfilt for passive data channel quit (pid 142437) 20:55:20.116705 =====> Closed passive DATA connection 20:55:20.116726 > "226 File transfer complete[CR][LF]" 20:55:20.158937 < "QUIT" 20:55:20.158981 > "221 bye bye baby[CR][LF]" 20:55:20.160351 MAIN sockfilt said DISC 20:55:20.160396 ====> Client disconnected 20:55:20.160474 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:20.334800 ====> Client connect 20:55:20.335006 Received DATA (on stdin) 20:55:20.335018 > 160 bytes data, server => client 20:55:20.335026 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:20.335034 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:20.335041 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:20.335105 < 16 bytes data, client => server 20:55:20.335114 'USER anonymous\r\n' 20:55:20.335251 Received DATA (on stdin) 20:55:20.335260 > 33 bytes data, server => client 20:55:20.335267 '331 We are happy you popped in!\r\n' 20:55:20.335302 < 22 bytes data, client => server 20:55:20.335310 'PASS ftp@example.com\r\n' 20:55:20.335392 Received DATA (on stdin) 20:55:20.335400 > 30 bytes data, server => client 20:55:20.335407 '230 Welcome you silly person\r\n' 20:55:20.335438 < 5 bytes data, client => server 20:55:20.335445 'PWD\r\n' 20:55:20.335519 Received DATA (on stdin) 20:55:20.335526 > 30 bytes data, server => client 20:55:20.335534 '257 "/" is current directory\r\n' 20:55:20.335569 < 6 bytes data, client => server 20:55:20.335576 'EPSV\r\n' 20:55:20.337189 Received DATA (on stdin) 20:55:20.337203 > 38 bytes data, server => client 20:55:20.337213 '229 Entering Passive Mode (|||41441|)\n' 20:55:20.337291 < 8 bytes data, client => server 20:55:20.337302 'TYPE I\r\n' 20:55:20.337512 Received DATA (on stdin) 20:55:20.337528 > 33 bytes data, server => client 20:55:20.337537 '200 I modify TYPE as you wanted\r\n' 20:55:20.337592 < 21 bytes data, client => server 20:55:20.337601 'SIZE verifiedserver\r\n' 20:55:20.337691 Received DATA (on stdin) 20:55:20.337700 > 8 bytes data, server => client 20:55:20.337707 '213 18\r\n' 20:55:20.337744 < 21 bytes data, client => server 20:55:20.337756 'RETR verifiedserver\r\n' 20:55:20.337921 Received DATA (on stdin) 20:55:20.337935 > 29 bytes data, server => client 20:55:CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/20/stdout745 2> log/20/stderr745 CMD (33792): ../libtool --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/valgrind734 ../src/curl -q --output log/9/curl734.out --include --trace-ascii log/9/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:46863/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/9/stdout734 2> log/9/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/4/valgrind719 ../src/curl -q --output log/4/curl719.out --include --trace-ascii log/4/trace719 --trace-config all --trace-time http://[2200::33]:35779/719 --proxy socks5h://127.0.0.1:43521 > log/4/stdout719 2> log/4/stderr719 20.337943 '150 Binary junk (18 bytes).\r\n' 20:55:20.338233 Received DATA (on stdin) 20:55:20.338245 > 28 bytes data, server => client 20:55:20.338253 '226 File transfer complete\r\n' 20:55:20.380321 < 6 bytes data, client => server 20:55:20.380343 'QUIT\r\n' 20:55:20.380488 Received DATA (on stdin) 20:55:20.380499 > 18 bytes data, server => client 20:55:20.380506 '221 bye bye baby\r\n' 20:55:20.381804 ====> Client disconnect 20:55:20.381908 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:20.336693 Running IPv4 version 20:55:20.336732 Listening on port 41441 20:55:20.336761 Wrote pid 142437 to log/15/server/ftp_sockdata.pid 20:55:20.336885 Received PING (on stdin) 20:55:20.337035 Received PORT (on stdin) 20:55:20.337285 ====> Client connect 20:55:20.337834 Received DATA (on stdin) 20:55:20.337854 > 18 bytes data, server => client 20:55:20.337865 'WE ROOLZ: 110834\r\n' 20:55:20.337891 Received DISC (on stdin) 20:55:20.337903 ====> Client forcibly disconnected 20:55:20.338033 Received QUIT (on stdin) 20:55:20.338045 quits 20:55:20.338081 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 713 === End of file server.cmd === Start of file socks_server.log 20:55:20.386762 Running IPv4 version 20:55:20.386814 Listening on port 43181 20:55:20.386843 Wrote pid 142471 to log/15/server/socks_server.pid 20:55:20.386876 Wrote port 43181 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==143551== ==143551== Process terminating with default action of signal 4 (SIGILL) ==143551== Illegal opcode at address 0x4003082 ==143551== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143551== by 0x4003082: main (tool_main.c:243) === End of file valgrind713 * starts no server test 0745...[Verify that typecheck-gcc and curl.h are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/20/stdout745 2> log/20/stderr745 valgrind SKIPPED s------e--- OK (715 out of 1701, remaining: 01:22, took 0.015s, duration: 01:00) 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/9/valgrind734 ../src/curl -q --output log/9/curl734.out --include --trace-ascii log/9/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:46863/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/9/stdout734 2> log/9/stderr734 734: 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 734 === Start of file commands.log ../libtool --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/valgrind734 ../src/curl -q --output log/9/curl734.out --include --trace-ascii log/9/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:46863/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/9/stdout734 2> log/9/stderr734 === End of file commands.log === Start of file http_server.log 20:55:21.501300 ====> Client connect 20:55:21.501338 accept_connection 3 returned 4 20:55:21.501355 accept_connection 3 returned 0 20:55:21.501369 Read 93 bytes 20:55:21.501379 Process 93 bytes request 20:55:21.501392 Got request: GET /verifiedserver HTTP/1.1 20:55:21.501401 Are-we-friendly question received 20:55:21.501424 Wrote request (93 bytes) input to log/9/server.input 20:55:21.501440 Identifying ourselves as friends 20:55:21.501507 Response sent (57 bytes) and written to log/9/server.response 20:55:21.501518 special request received, no persistency 20:55:21.501527 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46863... * Connected to 127.0.0.1 (127.0.0.1) port 46863 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46863 > User-Agent: curl/8.14.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: 104813 === 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: 18 WE ROOLZ: 104813 === End of file server.response === Start of file valgrind734 ==144114== ==144114== Process terminating with default action of signal 4 (SIGILL) ==144114== Illegal opcode at address 0x4003082 ==144114== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144114== by 0x4003082: main (tool_main.c:243) === End of file valgrind734 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 142557 * pid socks => 142557 142557 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]:35779/719 --proxy socks5h://127.0.0.1:43521 > 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 commands.log ../libtool --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]:35779/719 --proxy socks5h://127.0.0.1:43521 > log/4/stdout719 2> log/4/stderr719 === End of file commands.log === Start of file http_server.log 20:55:20.488300 ====> Client connect 20:55:20.488322 accept_connection 3 returned 4 20:55:20.488334 accept_connection 3 returned 0 20:55:20.488344 Read 93 bytes 20:55:20.488351 Process 93 bytes request 20:55:20.488360 Got request: GET /verifiedserver HTTP/1.1 20:55:20.488367 Are-we-friendly question received 20:55:20.488383 Wrote request (93 bytes) input to log/4/server.input 20:55:20.488394 Identifying ourselves as friends 20:55:20.488429 Response sent (57 bytes) and written to log/4/server.response 20:55:20.488436 special request received, no persistency 20:55:20.488442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === 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: 18 WE ROOLZ: 104810 === End of file server.response === Start of file socks_server.log 20:55:20.493159 Running IPv4 version 20:55:20.493199 Listening on port 43521 20:55:20.493224 Wrote pid 142557 to log/4/server/socks_server.pid 20:55:20.493242 Wrote port 43521 to log/4/server/socks_server.port === End of file socks_server.log === Start 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/17/valgrind721 ../src/curl -q --output log/17/curl721.out --include --trace-ascii log/17/trace721 --trace-config all --trace-time http://this.is.a.host.name:35207/721 --proxy socks5h://127.0.0.1:45807 > log/17/stdout721 2> log/17/stderr721 CMD (33792): ../libtool --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/valgrind720 ../src/curl -q --output log/7/curl720.out --include --trace-ascii log/7/trace720 --trace-config all --trace-time http://12.34.56.78:39141/720 --proxy socks5h://127.0.0.1:44573 > log/7/stdout720 2> log/7/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/12/valgrind735 ../src/curl -q --output log/12/curl735.out --include --trace-ascii log/12/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:33337/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/12/stdout735 2> log/12/stderr735 f file valgrind719 ==144098== ==144098== Process terminating with default action of signal 4 (SIGILL) ==144098== Illegal opcode at address 0x4003082 ==144098== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144098== by 0x4003082: main (tool_main.c:243) === End of file valgrind719 startnew: ./server/socksd --port 0 --pidfile log/17/server/socks_server.pid --portfile log/17/server/socks_server.port --reqfile log/17/socksd-request.log --logfile log/17/socks_server.log --backend 127.0.0.1 --config log/17/server.cmd RUN: SOCKS server is now running PID 142590 * pid socks => 142590 142590 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/17/valgrind721 ../src/curl -q --output log/17/curl721.out --include --trace-ascii log/17/trace721 --trace-config all --trace-time http://this.is.a.host.name:35207/721 --proxy socks5h://127.0.0.1:45807 > log/17/stdout721 2> log/17/stderr721 721: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 721 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind721 ../src/curl -q --output log/17/curl721.out --include --trace-ascii log/17/trace721 --trace-config all --trace-time http://this.is.a.host.name:35207/721 --proxy socks5h://127.0.0.1:45807 > log/17/stdout721 2> log/17/stderr721 === End of file commands.log === Start of file http_server.log 20:55:20.548886 ====> Client connect 20:55:20.548917 accept_connection 3 returned 4 20:55:20.548931 accept_connection 3 returned 0 20:55:20.548941 Read 93 bytes 20:55:20.548948 Process 93 bytes request 20:55:20.548957 Got request: GET /verifiedserver HTTP/1.1 20:55:20.548963 Are-we-friendly question received 20:55:20.548978 Wrote request (93 bytes) input to log/17/server.input 20:55:20.548989 Identifying ourselves as friends 20:55:20.549030 Response sent (57 bytes) and written to log/17/server.response 20:55:20.549037 special request received, no persistency 20:55:20.549043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === 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: 18 WE ROOLZ: 104796 === End of file server.response === Start of file socks_server.log 20:55:20.553038 Running IPv4 version 20:55:20.553075 Listening on port 45807 20:55:20.553099 Wrote pid 142590 to log/17/server/socks_server.pid 20:55:20.553117 Wrote port 45807 to log/17/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 ==144254== ==144254== Process terminating with default action of signal 4 (SIGILL) ==144254== Illegal opcode at address 0x4003082 ==144254== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144254== by 0x4003082: main (tool_main.c:243) === End of file valgrind721 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 142581 * pid socks => 142581 142581 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/7/valgrind720 ../src/curl -q --output log/7/curl720.out --include --trace-ascii log/7/trace720 --trace-config all --trace-time http://12.34.56.78:39141/720 --proxy socks5h://127.0.0.1:44573 > log/7/stdout720 2> log/7/stderr720 720: 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 720 === Start of file commands.log ../libtool --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/valgrind720 ../src/curl -q --output log/7/curl720.out --include --trace-ascii log/7/trace720 --trace-config all --trace-time http://12.34.56.78:39141/720 --proxy socks5h://127.0.0.1:44573 > log/7/stdout720 2> log/7/stderr720 === End of file commands.log === Start of file http_server.log 20:55:20.537088 ====> Client connect 20:55:20.537114 accept_connection 3 returned 4 20:55:20.537143 accept_connection 3 returned 0 20:55:20.537167 Read 93 bytes 20:55:20.537179 Process 93 bytes request 20:55:20.537190 Got request: GET /verifiedserver HTTP/1.1 20:55:20.537198 Are-we-friendly question received 20:55:20.537220 Wrote request (93 bytes) input to log/7/server.input 20:55:20.537233 Identifying ourselves as friends 20:55:20.537285 Response sent (57 bytes) and written to log/7/server.response 20:55:20.537292 special request received, no persistency 20:55:20.537299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === 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: 18 WE ROOLZ: 104806 === End of file server.response === Start of file socks_server.log 20:55:20.540968 Running IPv4 version 20:55:20.541008 Listening on port 44573 20:55:20.541033 Wrote pid 142581 to log/7/server/socks_server.pid 20:55:20.541053 Wrote port 44573 to log/7/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 ==144209== ==144209== Process terminating with default action of signal 4 (SIGILL) ==144209== Illegal opcode at address 0x4003082 ==144209== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144209== by 0x4003082: main (tool_main.c:243) === End of file valgrind720 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/12/valgrind735 ../src/curl -q --output log/12/curl735.out --include --trace-ascii log/12/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:33337/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/12/stdout735 2> log/12/stderr735 735: 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 735 === Start of file commands.log ../libtool --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/valgrind735 ../src/curl -q --output log/12/curl735.out --include --trace-ascii log/12/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:33337/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/12/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind736 ../src/curl -q --output log/13/curl736.out --include --trace-ascii log/13/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout736 2> log/13/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/19/valgrind737 ../src/curl -q --output log/19/curl737.out --include --trace-ascii log/19/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout737 2> log/19/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/8/valgrind739 ../src/curl -q --output log/8/curl739.out --include --trace-ascii log/8/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:35791/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/8/stdout739 2> log/8/stderr739 stdout735 2> log/12/stderr735 === End of file commands.log === Start of file http_server.log 20:55:21.539849 ====> Client connect 20:55:21.539873 accept_connection 3 returned 4 20:55:21.539885 accept_connection 3 returned 0 20:55:21.539896 Read 93 bytes 20:55:21.539903 Process 93 bytes request 20:55:21.539912 Got request: GET /verifiedserver HTTP/1.1 20:55:21.539919 Are-we-friendly question received 20:55:21.539936 Wrote request (93 bytes) input to log/12/server.input 20:55:21.539947 Identifying ourselves as friends 20:55:21.539984 Response sent (57 bytes) and written to log/12/server.response 20:55:21.539991 special request received, no persistency 20:55:21.539997 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === 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: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind735 ==144218== ==144218== Process terminating with default action of signal 4 (SIGILL) ==144218== Illegal opcode at address 0x4003082 ==144218== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144218== by 0x4003082: main (tool_main.c:243) === End of file valgrind735 setenv IPFS_PATH = log/13/.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/13/valgrind736 ../src/curl -q --output log/13/curl736.out --include --trace-ascii log/13/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout736 2> log/13/stderr736 736: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 736 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind736 ../src/curl -q --output log/13/curl736.out --include --trace-ascii log/13/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout736 2> log/13/stderr736 === End of file commands.log === Start of file http_server.log 20:55:21.637077 ====> Client connect 20:55:21.637390 accept_connection 3 returned 4 20:55:21.637409 accept_connection 3 returned 0 20:55:21.637422 Read 93 bytes 20:55:21.637432 Process 93 bytes request 20:55:21.637448 Got request: GET /verifiedserver HTTP/1.1 20:55:21.637458 Are-we-friendly question received 20:55:21.637484 Wrote request (93 bytes) input to log/13/server.input 20:55:21.637501 Identifying ourselves as friends 20:55:21.637555 Response sent (57 bytes) and written to log/13/server.response 20:55:21.637565 special request received, no persistency 20:55:21.637574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === 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: 18 WE ROOLZ: 104807 === End of file server.response === Start of file valgrind736 ==144400== ==144400== Process terminating with default action of signal 4 (SIGILL) ==144400== Illegal opcode at address 0x4003082 ==144400== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144400== by 0x4003082: main (tool_main.c:243) === End of file valgrind736 setenv IPFS_PATH = log/19/.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/19/valgrind737 ../src/curl -q --output log/19/curl737.out --include --trace-ascii log/19/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout737 2> log/19/stderr737 737: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 737 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind737 ../src/curl -q --output log/19/curl737.out --include --trace-ascii log/19/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout737 2> log/19/stderr737 === End of file commands.log === Start of file http_server.log 20:55:21.642388 ====> Client connect 20:55:21.642423 accept_connection 3 returned 4 20:55:21.642443 accept_connection 3 returned 0 20:55:21.642456 Read 93 bytes 20:55:21.642467 Process 93 bytes request 20:55:21.642478 Got request: GET /verifiedserver HTTP/1.1 20:55:21.642487 Are-we-friendly question received 20:55:21.642513 Wrote request (93 bytes) input to log/19/server.input 20:55:21.642530 Identifying ourselves as friends 20:55:21.642592 Response sent (57 bytes) and written to log/19/server.response 20:55:21.642603 special request received, no persistency 20:55:21.642612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === 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: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind737 ==144407== ==144407== Process terminating with default action of signal 4 (SIGILL) ==144407== Illegal opcode at address 0x4003082 ==144407== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144407== by 0x4003082: main (tool_main.c:243) === End of file valgrind737 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/8/valgrind739 ../src/curl -q --output log/8/curl739.out --include --trace-ascii log/8/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:35791/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/8/stdout739 2> log/8/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/8/ dir after test 739 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/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/valgrind738 ../src/curl -q --output log/2/curl738.out --include --trace-ascii log/2/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout738 2> log/2/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/22/valgrind748 ../src/curl -q --output log/22/curl748.out --include --trace-ascii log/22/trace748 --trace-config all --trace-time -K log/22/cmd > log/22/stdout748 2> log/22/stderr748 CMD (33792): ../libtool --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/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-config all --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 tartdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind739 ../src/curl -q --output log/8/curl739.out --include --trace-ascii log/8/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:35791/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/8/stdout739 2> log/8/stderr739 === End of file commands.log === Start of file http_server.log 20:55:21.834496 ====> Client connect 20:55:21.834528 accept_connection 3 returned 4 20:55:21.834541 accept_connection 3 returned 0 20:55:21.834550 Read 93 bytes 20:55:21.834558 Process 93 bytes request 20:55:21.834568 Got request: GET /verifiedserver HTTP/1.1 20:55:21.834575 Are-we-friendly question received 20:55:21.834592 Wrote request (93 bytes) input to log/8/server.input 20:55:21.834603 Identifying ourselves as friends 20:55:21.834641 Response sent (57 bytes) and written to log/8/server.response 20:55:21.834648 special request received, no persistency 20:55:21.834655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === 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: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind739 ==144534== ==144534== Process terminating with default action of signal 4 (SIGILL) ==144534== Illegal opcode at address 0x4003082 ==144534== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144534== by 0x4003082: main (tool_main.c:243) === End of file valgrind739 setenv IPFS_PATH = log/2/.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/2/valgrind738 ../src/curl -q --output log/2/curl738.out --include --trace-ascii log/2/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout738 2> log/2/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/2/ dir after test 738 === Start of file commands.log ../libtool --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/valgrind738 ../src/curl -q --output log/2/curl738.out --include --trace-ascii log/2/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout738 2> log/2/stderr738 === End of file commands.log === Start of file http_server.log 20:55:21.834915 ====> Client connect 20:55:21.834938 accept_connection 3 returned 4 20:55:21.834951 accept_connection 3 returned 0 20:55:21.834961 Read 93 bytes 20:55:21.834969 Process 93 bytes request 20:55:21.834978 Got request: GET /verifiedserver HTTP/1.1 20:55:21.834985 Are-we-friendly question received 20:55:21.835001 Wrote request (93 bytes) input to log/2/server.input 20:55:21.835013 Identifying ourselves as friends 20:55:21.835050 Response sent (57 bytes) and written to log/2/server.response 20:55:21.835057 special request received, no persistency 20:55:21.835064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === 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: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind738 ==144536== ==144536== Process terminating with default action of signal 4 (SIGILL) ==144536== Illegal opcode at address 0x4003082 ==144536== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144536== by 0x4003082: main (tool_main.c:243) === End of file valgrind738 * starts no server test 0748...[A --config file that uses -h and 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/22/valgrind748 ../src/curl -q --output log/22/curl748.out --include --trace-ascii log/22/trace748 --trace-config all --trace-time -K log/22/cmd > log/22/stdout748 2> log/22/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/22/ dir after test 748 === Start of file cmd -h all === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind748 ../src/curl -q --output log/22/curl748.out --include --trace-ascii log/22/trace748 --trace-config all --trace-time -K log/22/cmd > log/22/stdout748 2> log/22/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 ==144741== ==144741== Process terminating with default action of signal 4 (SIGILL) ==144741== Illegal opcode at address 0x4003082 ==144741== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144741== by 0x4003082: main (tool_main.c:243) === End of file valgrind748 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind743 ../src/curl -q --output log/18/curl743.out --include --trace-ascii log/18/trace743 --trace-config all --trace-time http://127.0.0.1:34637/743 -K log/18/config > log/18/stdout743 2> log/18/stderr743 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind750 ../src/curl -q --output log/20/curl750.out --include --trace-ascii log/20/trace750 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:41293 --proxytunnel -sS > log/20/stdout750 2> log/20/stderr750 * starts no server test 0746...[too large numerical value passed to -m] ../libtool --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/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-config all --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 746: stderr FAILED: --- log/5/check-expected 2025-06-04 20:55:22.153032504 +0000 +++ log/5/check-generated 2025-06-04 20:55:22.153032504 +0000 @@ -1,2 +0,0 @@ -curl: option -m: expected a proper numerical parameter[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/5/ dir after test 746 === Start of file check-expected curl: option -m: expected a proper numerical parameter[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --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/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-config all --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==144740== ==144740== Process terminating with default action of signal 4 (SIGILL) ==144740== Illegal opcode at address 0x4003082 ==144740== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144740== by 0x4003082: main (tool_main.c:243) === End of file valgrind746 test 0743...[--config with a 127 byte 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/18/valgrind743 ../src/curl -q --output log/18/curl743.out --include --trace-ascii log/18/trace743 --trace-config all --trace-time http://127.0.0.1:34637/743 -K log/18/config > log/18/stdout743 2> log/18/stderr743 743: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 743 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind743 ../src/curl -q --output log/18/curl743.out --include --trace-ascii log/18/trace743 --trace-config all --trace-time http://127.0.0.1:34637/743 -K log/18/config > log/18/stdout743 2> log/18/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 20:55:21.906430 ====> Client connect 20:55:21.906460 accept_connection 3 returned 4 20:55:21.906476 accept_connection 3 returned 0 20:55:21.906488 Read 93 bytes 20:55:21.906497 Process 93 bytes request 20:55:21.906508 Got request: GET /verifiedserver HTTP/1.1 20:55:21.906517 Are-we-friendly question received 20:55:21.906538 Wrote request (93 bytes) input to log/18/server.input 20:55:21.906553 Identifying ourselves as friends 20:55:21.906602 Response sent (57 bytes) and written to log/18/server.response 20:55:21.906612 special request received, no persistency 20:55:21.906621 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34637... * Connected to 127.0.0.1 (127.0.0.1) port 34637 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34637 > User-Agent: curl/8.14.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: 104798 === End of file http_verify.out === Start of file server.cmd Testnum 743 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104798 === End of file server.response === Start of file valgrind743 ==144822== ==144822== Process terminating with default action of signal 4 (SIGILL) ==144822== Illegal opcode at address 0x4003082 ==144822== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144822== by 0x4003082: main (tool_main.c:243) === End of file valgrind743 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind749 ../src/curl -q --output log/15/curl749.out --include --trace-ascii log/15/trace749 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:39051 --proxytunnel -sS > log/15/stdout749 2> log/15/stderr749 test 0750...[HTTP CONNECT with proxy returning just HTML 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/20/valgrind750 ../src/curl -q --output log/20/curl750.out --include --trace-ascii log/20/trace750 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:41293 --proxytunnel -sS > log/20/stdout750 2> log/20/stderr750 750: stderr FAILED: --- log/20/check-expected 2025-06-04 20:55:22.173032505 +0000 +++ log/20/check-generated 2025-06-04 20:55:22.173032505 +0000 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/20/ dir after test 750 === Start of file check-expected curl: (43) Invalid response header[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind750 ../src/curl -q --output log/20/curl750.out --include --trace-ascii log/20/trace750 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:41293 --proxytunnel -sS > log/20/stdout750 2> log/20/stderr750 === End of file commands.log === Start of file http_server.log 20:55:21.926696 ====> Client connect 20:55:21.926723 accept_connection 3 returned 4 20:55:21.926739 accept_connection 3 returned 0 20:55:21.926752 Read 93 bytes 20:55:21.926761 Process 93 bytes request 20:55:21.926773 Got request: GET /verifiedserver HTTP/1.1 20:55:21.926781 Are-we-friendly question received 20:55:21.926801 Wrote request (93 bytes) input to log/20/server.input 20:55:21.926815 Identifying ourselves as friends 20:55:21.926873 Response sent (57 bytes) and written to log/20/server.response 20:55:21.926883 special request received, no persistency 20:55:21.926891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41293... * Connected to 127.0.0.1 (127.0.0.1) port 41293 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41293 > User-Agent: curl/8.14.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: 104795 === End of file http_verify.out === Start of file server.cmd Testnum 750 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104795 === End of file server.response === Start of file valgrind750 ==144955== ==144955== Process terminating with default action of signal 4 (SIGILL) ==144955== Illegal opcode at address 0x4003082 ==144955== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144955== by 0x4003082: main (tool_main.c:243) === End of file valgrind750 CMD (33792): ../libtool --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/valgrind744 ../src/curl -q --output log/11/curl744.out --include --trace-ascii log/11/trace744 --trace-config all --trace-time http://foo.host:44265/744 -p --proxy1.0 127.0.0.1:39727 -A "" --netrc-file log/11/netrc744 > log/11/stdout744 2> log/11/stderr744 CMD (33792): ../libtool --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/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:45365 http://127.0.0.1:43831/728 > log/10/stdout728 2> log/10/stderr728 test 0749...[HTTP CONNECT with proxy returning 400 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/15/valgrind749 ../src/curl -q --output log/15/curl749.out --include --trace-ascii log/15/trace749 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:39051 --proxytunnel -sS > log/15/stdout749 2> log/15/stderr749 749: stderr FAILED: --- log/15/check-expected 2025-06-04 20:55:22.179699172 +0000 +++ log/15/check-generated 2025-06-04 20:55:22.179699172 +0000 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/15/ dir after test 749 === Start of file check-expected curl: (56) CONNECT tunnel failed, response 400[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind749 ../src/curl -q --output log/15/curl749.out --include --trace-ascii log/15/trace749 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:39051 --proxytunnel -sS > log/15/stdout749 2> log/15/stderr749 === End of file commands.log === Start of file http_server.log 20:55:21.921430 ====> Client connect 20:55:21.921456 accept_connection 3 returned 4 20:55:21.921470 accept_connection 3 returned 0 20:55:21.921481 Read 93 bytes 20:55:21.921488 Process 93 bytes request 20:55:21.921497 Got request: GET /verifiedserver HTTP/1.1 20:55:21.921504 Are-we-friendly question received 20:55:21.921521 Wrote request (93 bytes) input to log/15/server.input 20:55:21.921532 Identifying ourselves as friends 20:55:21.921578 Response sent (57 bytes) and written to log/15/server.response 20:55:21.921585 special request received, no persistency 20:55:21.921591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === End of file http_verify.out === Start of file server.cmd Testnum 749 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind749 ==144912== ==144912== Process terminating with default action of signal 4 (SIGILL) ==144912== Illegal opcode at address 0x4003082 ==144912== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144912== by 0x4003082: main (tool_main.c:243) === End of file valgrind749 test 0744...[--netrc-file with a 127 byte 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/11/valgrind744 ../src/curl -q --output log/11/curl744.out --include --trace-ascii log/11/trace744 --trace-config all --trace-time http://foo.host:44265/744 -p --proxy1.0 127.0.0.1:39727 -A "" --netrc-file log/11/netrc744 > log/11/stdout744 2> log/11/stderr744 744: 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 744 === Start of file commands.log ../libtool --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/valgrind744 ../src/curl -q --output log/11/curl744.out --include --trace-ascii log/11/trace744 --trace-config all --trace-time http://foo.host:44265/744 -p --proxy1.0 127.0.0.1:39727 -A "" --netrc-file log/11/netrc744 > log/11/stdout744 2> log/11/stderr744 === End of file commands.log === Start of file http2_server.log 20:55:21.938124 ====> Client connect 20:55:21.938157 accept_connection 3 returned 4 20:55:21.938174 accept_connection 3 returned 0 20:55:21.938188 Read 93 bytes 20:55:21.938197 Process 93 bytes request 20:55:21.938210 Got request: GET /verifiedserver HTTP/1.1 20:55:21.938218 Are-we-friendly question received 20:55:21.938240 Wrote request (93 bytes) input to log/11/proxy.input 20:55:21.938256 Identifying ourselves as friends 20:55:21.938315 Response sent (57 bytes) and written to log/11/proxy.response 20:55:21.938324 special request received, no persistency 20:55:21.938333 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:39727... * Connected to 127.0.0.1 (127.0.0.1) port 39727 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39727 > User-Agent: curl/8.14.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: 109510 === End of file http2_verify.out === Start of file http_server.log 20:55:21.914672 ====> Client connect 20:55:21.914723 accept_connection 3 returned 4 20:55:21.914740 accept_connection 3 returned 0 20:55:21.914754 Read 93 bytes 20:55:21.914763 Process 93 bytes request 20:55:21.914773 Got request: GET /verifiedserver HTTP/1.1 20:55:21.914782 Are-we-friendly question received 20:55:21.914807 Wrote request (93 bytes) input to log/11/server.input 20:55:21.914824 Identifying ourselves as friends 20:55:21.914875 Response sent (57 bytes) and written to log/11/server.response 20:55:21.914885 special request received, no persistency 20:55:21.914893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44265... * Connected to 127.0.0.1 (127.0.0.1) port 44265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44265 > User-Agent: curl/8.14.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: 104805 === End of file http_verify.out === Start of file netrc744 machine foo.host login foo password baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar === End of file netrc744 === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 109510 === End of file proxy.response === Start of file server.cmd Testnum 744 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104805 === End of file server.response === Start of file valgrind744 ==145027== ==145027== Process terminating with default action of signal 4 (SIGILL) ==145027== Illegal opcode at address 0x4003082 ==145027== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145027== by 0x4003082: main (tool_main.c:243) === End of file valgrind744 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind747 ../src/curl -q --output log/16/curl747.out --include --trace-ascii log/16/trace747 --trace-config all --trace-time http://127.0.0.1:33409/747 > log/16/stdout747 2> log/16/stderr747 CMD (33792): ../libtool --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/valgrind784 ../src/curl -q --output log/4/curl784.out --include --trace-ascii log/4/trace784 --trace-config all --trace-time http://127.0.0.1:35779/784 --variable "name[5-15]@log/4/in784" --expand-data '{{name}}' > log/4/stdout784 2> log/4/stderr784 CMD (33792): ../libtool --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/valgrind787 ../src/curl -q --output log/12/curl787.out --include --trace-ascii log/12/trace787 --trace-config all --trace-time http://127.0.0.1:33337/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/12/stdout787 2> log/12/stderr787 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 142946 * pid socks => 142946 142946 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/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:45365 http://127.0.0.1:43831/728 > log/10/stdout728 2> log/10/stderr728 728: stderr FAILED: --- log/10/check-expected 2025-06-04 20:55:22.189699172 +0000 +++ log/10/check-generated 2025-06-04 20:55:22.189699172 +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/10/ 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 commands.log ../libtool --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/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:45365 http://127.0.0.1:43831/728 > log/10/stdout728 2> log/10/stderr728 === End of file commands.log === Start of file http_server.log 20:55:20.964046 ====> Client connect 20:55:20.964070 accept_connection 3 returned 4 20:55:20.964082 accept_connection 3 returned 0 20:55:20.964091 Read 93 bytes 20:55:20.964098 Process 93 bytes request 20:55:20.964105 Got request: GET /verifiedserver HTTP/1.1 20:55:20.964112 Are-we-friendly question received 20:55:20.964126 Wrote request (93 bytes) input to log/10/server.input 20:55:20.964136 Identifying ourselves as friends 20:55:20.964175 Response sent (57 bytes) and written to log/10/server.response 20:55:20.964182 special request received, no persistency 20:55:20.964187 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43831... * Connected to 127.0.0.1 (127.0.0.1) port 43831 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43831 > User-Agent: curl/8.14.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: 104802 === 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: 18 WE ROOLZ: 104802 === End of file server.response === Start of file socks_server.log 20:55:20.968033 Running IPv4 version 20:55:20.968075 Listening on port 45365 20:55:20.968102 Wrote pid 142946 to log/10/server/socks_server.pid 20:55:20.968121 Wrote port 45365 to log/10/server/socks_server.port === End of file socks_server.log === Start of file valgrind728 ==145152== ==145152== Process terminating with default action of signal 4 (SIGILL) ==145152== Illegal opcode at address 0x4003082 ==145152== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145152== by 0x4003082: main (tool_main.c:243) === End of file valgrind728 test 0747...[Reject too many 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/16/valgrind747 ../src/curl -q --output log/16/curl747.out --include --trace-ascii log/16/trace747 --trace-config all --trace-time http://127.0.0.1:33409/747 > log/16/stdout747 2> log/16/stderr747 747: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 747 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind747 ../src/curl -q --output log/16/curl747.out --include --trace-ascii log/16/trace747 --trace-config all --trace-time http://127.0.0.1:33409/747 > log/16/stdout747 2> log/16/stderr747 === End of file commands.log === Start of file http_server.log 20:55:21.919764 ====> Client connect 20:55:21.919801 accept_connection 3 returned 4 20:55:21.919821 accept_connection 3 returned 0 20:55:21.919836 Read 93 bytes 20:55:21.919846 Process 93 bytes request 20:55:21.919859 Got request: GET /verifiedserver HTTP/1.1 20:55:21.919868 Are-we-friendly question received 20:55:21.919893 Wrote request (93 bytes) input to log/16/server.input 20:55:21.919910 Identifying ourselves as friends 20:55:21.919971 Response sent (57 bytes) and written to log/16/server.response 20:55:21.919982 special request received, no persistency 20:55:21.919991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33409... * Connected to 127.0.0.1 (127.0.0.1) port 33409 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33409 > User-Agent: curl/8.14.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: 104803 === End of file http_verify.out === Start of file server.cmd Testnum 747 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104803 === End of file server.response === Start of file valgrind747 ==145072== ==145072== Process terminating with default action of signal 4 (SIGILL) ==145072== Illegal opcode at address 0x4003082 ==145072== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145072== by 0x4003082: main (tool_main.c:243) === End of file valgrind747 test 0784...[--variable with a file 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/4/valgrind784 ../src/curl -q --output log/4/curl784.out --include --trace-ascii log/4/trace784 --trace-config all --trace-time http://127.0.0.1:35779/784 --variable "name[5-15]@log/4/in784" --expand-data '{{name}}' > log/4/stdout784 2> log/4/stderr784 784: 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 784 === Start of file commands.log ../libtool --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/valgrind784 ../src/curl -q --output log/4/curl784.out --include --trace-ascii log/4/trace784 --trace-config all --trace-time http://127.0.0.1:35779/784 --variable "name[5-15]@log/4/in784" --expand-data '{{name}}' > log/4/stdout784 2> log/4/stderr784 === End of file commands.log === Start of file http_server.log 20:55:22.068702 ====> Client connect 20:55:22.068727 accept_connection 3 returned 4 20:55:22.068743 accept_connection 3 returned 0 20:55:22.068756 Read 93 bytes 20:55:22.068765 Process 93 bytes request 20:55:22.068778 Got request: GET /verifiedserver HTTP/1.1 20:55:22.068787 Are-we-friendly question received 20:55:22.068809 Wrote request (93 bytes) input to log/4/server.input 20:55:22.068823 Identifying ourselves as friends 20:55:22.068877 Response sent (57 bytes) and written to log/4/server.response 20:55:22.068887 speCMD (33792): ../libtool --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/valgrind786 ../src/curl -q --output log/7/curl786.out --include --trace-ascii log/7/trace786 --trace-config all --trace-time http://127.0.0.1:39141/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/7/stdout786 2> log/7/stderr786 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind785 ../src/curl -q --output log/17/curl785.out --include --trace-ascii log/17/trace785 --trace-config all --trace-time http://127.0.0.1:35207/785 --variable "name[5-]@log/17/in785" --expand-data '{{name}}' > log/17/stdout785 2> log/17/stderr785 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind788 ../src/curl -q --output log/13/curl788.out --include --trace-ascii log/13/trace788 --trace-config all --trace-time http://127.0.0.1:44987/788 --variable "name[15-15]@log/13/in788" --expand-data '{{name}}' > log/13/stdout788 2> log/13/stderr788 cial request received, no persistency 20:55:22.068896 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35779... * Connected to 127.0.0.1 (127.0.0.1) port 35779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35779 > User-Agent: curl/8.14.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: 104810 === End of file http_verify.out === Start of file in784 On the first Monday of the month of April, 1625, the market town of Meung === End of file in784 === Start of file server.cmd Testnum 784 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104810 === End of file server.response === Start of file valgrind784 ==145367== ==145367== Process terminating with default action of signal 4 (SIGILL) ==145367== Illegal opcode at address 0x4003082 ==145367== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145367== by 0x4003082: main (tool_main.c:243) === End of file valgrind784 test 0787...[--variable with a file byte range, 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/12/valgrind787 ../src/curl -q --output log/12/curl787.out --include --trace-ascii log/12/trace787 --trace-config all --trace-time http://127.0.0.1:33337/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/12/stdout787 2> log/12/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/12/ dir after test 787 === Start of file commands.log ../libtool --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/valgrind787 ../src/curl -q --output log/12/curl787.out --include --trace-ascii log/12/trace787 --trace-config all --trace-time http://127.0.0.1:33337/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/12/stdout787 2> log/12/stderr787 === End of file commands.log === Start of file http_server.log 20:55:22.071915 ====> Client connect 20:55:22.071943 accept_connection 3 returned 4 20:55:22.071959 accept_connection 3 returned 0 20:55:22.071971 Read 93 bytes 20:55:22.071980 Process 93 bytes request 20:55:22.071990 Got request: GET /verifiedserver HTTP/1.1 20:55:22.071999 Are-we-friendly question received 20:55:22.072021 Wrote request (93 bytes) input to log/12/server.input 20:55:22.072036 Identifying ourselves as friends 20:55:22.072087 Response sent (57 bytes) and written to log/12/server.response 20:55:22.072098 special request received, no persistency 20:55:22.072106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33337... * Connected to 127.0.0.1 (127.0.0.1) port 33337 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33337 > User-Agent: curl/8.14.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: 104811 === End of file http_verify.out === Start of file server.cmd Testnum 787 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104811 === End of file server.response === Start of file valgrind787 ==145366== ==145366== Process terminating with default action of signal 4 (SIGILL) ==145366== Illegal opcode at address 0x4003082 ==145366== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145366== by 0x4003082: main (tool_main.c:243) === End of file valgrind787 test 0786...[--variable with a file byte range, reading 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/7/valgrind786 ../src/curl -q --output log/7/curl786.out --include --trace-ascii log/7/trace786 --trace-config all --trace-time http://127.0.0.1:39141/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/7/stdout786 2> log/7/stderr786 786: 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 786 === Start of file commands.log ../libtool --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/valgrind786 ../src/curl -q --output log/7/curl786.out --include --trace-ascii log/7/trace786 --trace-config all --trace-time http://127.0.0.1:39141/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/7/stdout786 2> log/7/stderr786 === End of file commands.log === Start of file http_server.log 20:55:22.071465 ====> Client connect 20:55:22.071489 accept_connection 3 returned 4 20:55:22.071501 accept_connection 3 returned 0 20:55:22.071511 Read 93 bytes 20:55:22.071518 Process 93 bytes request 20:55:22.071526 Got request: GET /verifiedserver HTTP/1.1 20:55:22.071533 Are-we-friendly question received 20:55:22.071550 Wrote request (93 bytes) input to log/7/server.input 20:55:22.071562 Identifying ourselves as friends 20:55:22.071599 Response sent (57 bytes) and written to log/7/server.response 20:55:22.071606 special request received, no persistency 20:55:22.071612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39141... * Connected to 127.0.0.1 (127.0.0.1) port 39141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39141 > User-Agent: curl/8.14.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: 104806 === End of file http_verify.out === Start of file server.cmd Testnum 786 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104806 === End of file server.response === Start of file stdin-for-786 On the first Monday of the month of April, 1625, the market town of Meung === End of file stdin-for-786 === Start of file valgrind786 ==145369== ==145369== Process terminating with default action of signal 4 (SIGILL) ==145369== Illegal opcode at address 0x4003082 ==145369== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145369== by 0x4003082: main (tool_main.c:243) === End of file valgrind786 test 0785...[--variable with a file byte range without 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/17/valgrind785 ../src/curl -q --output log/17/curl785.out --include --trace-ascii log/17/trace785 --trace-config all --trace-time http://127.0.0.1:35207/785 --variable "name[5-]@log/17/in785" --expand-data '{{name}}' > log/17/stdout785 2> log/17/stderr785 785: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 785 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind785 ../src/curl -q --output log/17/curl785.out --include --trace-ascii log/17/trace785 --trace-config all --trace-time http://127.0.0.1:35207/785 --variable "name[5-]@log/17/in785" --expand-data '{{name}}' > log/17/stdout785 2> log/17/stderr785 === End of file commands.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/19/valgrind789 ../src/curl -q --output log/19/curl789.out --include --trace-ascii log/19/trace789 --trace-config all --trace-time http://127.0.0.1:46549/789 --variable "name[75-85]@log/19/in789" --expand-data '{{name}}' > log/19/stdout789 2> log/19/stderr789 CMD (33792): ../libtool --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/valgrind790 ../src/curl -q --output log/8/curl790.out --include --trace-ascii log/8/trace790 --trace-config all --trace-time http://127.0.0.1:35791/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/8/stdout790 2> log/8/stderr790 t of file http_server.log 20:55:22.069582 ====> Client connect 20:55:22.069604 accept_connection 3 returned 4 20:55:22.069618 accept_connection 3 returned 0 20:55:22.069628 Read 93 bytes 20:55:22.069636 Process 93 bytes request 20:55:22.069644 Got request: GET /verifiedserver HTTP/1.1 20:55:22.069651 Are-we-friendly question received 20:55:22.069668 Wrote request (93 bytes) input to log/17/server.input 20:55:22.069679 Identifying ourselves as friends 20:55:22.069718 Response sent (57 bytes) and written to log/17/server.response 20:55:22.069725 special request received, no persistency 20:55:22.069731 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35207... * Connected to 127.0.0.1 (127.0.0.1) port 35207 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35207 > User-Agent: curl/8.14.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: 104796 === End of file http_verify.out === Start of file in785 On the first Monday of the month of April, 1625, the market town of Meung === End of file in785 === Start of file server.cmd Testnum 785 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104796 === End of file server.response === Start of file valgrind785 ==145368== ==145368== Process terminating with default action of signal 4 (SIGILL) ==145368== Illegal opcode at address 0x4003082 ==145368== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145368== by 0x4003082: main (tool_main.c:243) === End of file valgrind785 test 0788...[--variable with a file and single-byte 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/13/valgrind788 ../src/curl -q --output log/13/curl788.out --include --trace-ascii log/13/trace788 --trace-config all --trace-time http://127.0.0.1:44987/788 --variable "name[15-15]@log/13/in788" --expand-data '{{name}}' > log/13/stdout788 2> log/13/stderr788 788: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 788 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind788 ../src/curl -q --output log/13/curl788.out --include --trace-ascii log/13/trace788 --trace-config all --trace-time http://127.0.0.1:44987/788 --variable "name[15-15]@log/13/in788" --expand-data '{{name}}' > log/13/stdout788 2> log/13/stderr788 === End of file commands.log === Start of file http_server.log 20:55:22.143908 ====> Client connect 20:55:22.143937 accept_connection 3 returned 4 20:55:22.143953 accept_connection 3 returned 0 20:55:22.143966 Read 93 bytes 20:55:22.143975 Process 93 bytes request 20:55:22.143986 Got request: GET /verifiedserver HTTP/1.1 20:55:22.143995 Are-we-friendly question received 20:55:22.144016 Wrote request (93 bytes) input to log/13/server.input 20:55:22.144030 Identifying ourselves as friends 20:55:22.144075 Response sent (57 bytes) and written to log/13/server.response 20:55:22.144084 special request received, no persistency 20:55:22.144092 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44987... * Connected to 127.0.0.1 (127.0.0.1) port 44987 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44987 > User-Agent: curl/8.14.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: 104807 === End of file http_verify.out === Start of file in788 On the first Monday of the month of April, 1625, the market town of Meung === End of file in788 === Start of file server.cmd Testnum 788 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104807 === End of file server.response === Start of file valgrind788 ==145597== ==145597== Process terminating with default action of signal 4 (SIGILL) ==145597== Illegal opcode at address 0x4003082 ==145597== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145597== by 0x4003082: main (tool_main.c:243) === End of file valgrind788 test 0789...[--variable with a file and byte range out 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/19/valgrind789 ../src/curl -q --output log/19/curl789.out --include --trace-ascii log/19/trace789 --trace-config all --trace-time http://127.0.0.1:46549/789 --variable "name[75-85]@log/19/in789" --expand-data '{{name}}' > log/19/stdout789 2> log/19/stderr789 789: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 789 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind789 ../src/curl -q --output log/19/curl789.out --include --trace-ascii log/19/trace789 --trace-config all --trace-time http://127.0.0.1:46549/789 --variable "name[75-85]@log/19/in789" --expand-data '{{name}}' > log/19/stdout789 2> log/19/stderr789 === End of file commands.log === Start of file http_server.log 20:55:22.148046 ====> Client connect 20:55:22.148076 accept_connection 3 returned 4 20:55:22.148092 accept_connection 3 returned 0 20:55:22.148105 Read 93 bytes 20:55:22.148115 Process 93 bytes request 20:55:22.148125 Got request: GET /verifiedserver HTTP/1.1 20:55:22.148135 Are-we-friendly question received 20:55:22.148156 Wrote request (93 bytes) input to log/19/server.input 20:55:22.148172 Identifying ourselves as friends 20:55:22.148222 Response sent (57 bytes) and written to log/19/server.response 20:55:22.148231 special request received, no persistency 20:55:22.148240 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46549... * Connected to 127.0.0.1 (127.0.0.1) port 46549 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46549 > User-Agent: curl/8.14.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: 104799 === End of file http_verify.out === Start of file in789 On the first Monday of the month of April, 1625, the market town of Meung === End of file in789 === Start of file server.cmd Testnum 789 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104799 === End of file server.response === Start of file valgrind789 ==145601== ==145601== Process terminating with default action of signal 4 (SIGILL) ==145601== Illegal opcode at address 0x4003082 ==145601== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145601== by 0x4003082: main (tool_main.c:243) === End of file valgrind789 test 0790...[--variable with a byte range using plain assign] ../libtool --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/valgrind790 ../src/curl -q --output log/8/curl790.out --include --trace-ascii log/8/trace790 --trace-config all --trace-time http://127.0.0.1:35791/790 --variable "name[5-9]=0123456789abcdef" -CMD (33792): ../libtool --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/valgrind791 ../src/curl -q --output log/2/curl791.out --include --trace-ascii log/2/trace791 --trace-config all --trace-time http://127.0.0.1:43815/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/2/stdout791 2> log/2/stderr791 CMD (33792): ../libtool --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/valgrind715 ../src/curl -q --output log/1/curl715.out --include --trace-ascii log/1/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:33539 --proxytunnel --proxy 127.0.0.1:37951 --preproxy socks5://127.0.0.1:46511 > log/1/stdout715 2> log/1/stderr715 CMD (33792): ../libtool --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/valgrind751 ./libtest/lib751 - > log/9/stdout751 2> log/9/stderr751 -expand-data '{{name}}' > log/8/stdout790 2> log/8/stderr790 790: 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 790 === Start of file commands.log ../libtool --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/valgrind790 ../src/curl -q --output log/8/curl790.out --include --trace-ascii log/8/trace790 --trace-config all --trace-time http://127.0.0.1:35791/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/8/stdout790 2> log/8/stderr790 === End of file commands.log === Start of file http_server.log 20:55:22.346227 ====> Client connect 20:55:22.346251 accept_connection 3 returned 4 20:55:22.346266 accept_connection 3 returned 0 20:55:22.346276 Read 93 bytes 20:55:22.346285 Process 93 bytes request 20:55:22.346296 Got request: GET /verifiedserver HTTP/1.1 20:55:22.346303 Are-we-friendly question received 20:55:22.346321 Wrote request (93 bytes) input to log/8/server.input 20:55:22.346333 Identifying ourselves as friends 20:55:22.346379 Response sent (57 bytes) and written to log/8/server.response 20:55:22.346387 special request received, no persistency 20:55:22.346393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35791... * Connected to 127.0.0.1 (127.0.0.1) port 35791 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35791 > User-Agent: curl/8.14.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: 104812 === End of file http_verify.out === Start of file server.cmd Testnum 790 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104812 === End of file server.response === Start of file valgrind790 ==145736== ==145736== Process terminating with default action of signal 4 (SIGILL) ==145736== Illegal opcode at address 0x4003082 ==145736== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145736== by 0x4003082: main (tool_main.c:243) === End of file valgrind790 test 0791...[--variable with a byte range using plain assign, out of 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/2/valgrind791 ../src/curl -q --output log/2/curl791.out --include --trace-ascii log/2/trace791 --trace-config all --trace-time http://127.0.0.1:43815/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/2/stdout791 2> log/2/stderr791 791: 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 791 === Start of file commands.log ../libtool --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/valgrind791 ../src/curl -q --output log/2/curl791.out --include --trace-ascii log/2/trace791 --trace-config all --trace-time http://127.0.0.1:43815/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/2/stdout791 2> log/2/stderr791 === End of file commands.log === Start of file http_server.log 20:55:22.351067 ====> Client connect 20:55:22.351096 accept_connection 3 returned 4 20:55:22.351130 accept_connection 3 returned 0 20:55:22.351145 Read 93 bytes 20:55:22.351155 Process 93 bytes request 20:55:22.351167 Got request: GET /verifiedserver HTTP/1.1 20:55:22.351177 Are-we-friendly question received 20:55:22.351202 Wrote request (93 bytes) input to log/2/server.input 20:55:22.351219 Identifying ourselves as friends 20:55:22.351272 Response sent (57 bytes) and written to log/2/server.response 20:55:22.351284 special request received, no persistency 20:55:22.351293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43815... * Connected to 127.0.0.1 (127.0.0.1) port 43815 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43815 > User-Agent: curl/8.14.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: 104815 === End of file http_verify.out === Start of file server.cmd Testnum 791 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104815 === End of file server.response === Start of file valgrind791 ==145738== ==145738== Process terminating with default action of signal 4 (SIGILL) ==145738== Illegal opcode at address 0x4003082 ==145738== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145738== by 0x4003082: main (tool_main.c:243) === End of file valgrind791 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: HTTP2 server is on PID 142469 port 37951 * pid http-proxy => 142469 142469 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 143526 * pid socks => 143526 143526 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/1/valgrind715 ../src/curl -q --output log/1/curl715.out --include --trace-ascii log/1/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:33539 --proxytunnel --proxy 127.0.0.1:37951 --preproxy socks5://127.0.0.1:46511 > log/1/stdout715 2> log/1/stderr715 715: 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 715 === Start of file commands.log ../libtool --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/valgrind715 ../src/curl -q --output log/1/curl715.out --include --trace-ascii log/1/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:33539 --proxytunnel --proxy 127.0.0.1:37951 --preproxy socks5://127.0.0.1:46511 > log/1/stdout715 2> log/1/stderr715 === End of file commands.log === Start of file ftp_server.log 20:55:20.112403 ====> Client connect 20:55:20.112529 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:20.112766 < "USER anonymous" 20:55:20.112793 > "331 We are happy you popped in![CR][LF]" 20:55:20.112950 < "PASS ftp@example.com" 20:55:20.112975 > "230 Welcome you silly person[CR][LF]" 20:55:20.113219 < "PWD" 20:55:20.113269 > "257 "/" is current directory[CR][LF]" 20:55:20.113475 < "EPSV" 20:55:20.113506 ====> Passive DATA channel requested by client 20:55:20.113519 DATA sockfilt for passive data channel starting... 20:55:20.115424 DATA sockfilt for passive data channel started (pid 142435) 20:55:20.115525 DATA sockfilt for passive data channel listens on port 40629 20:55:20.115596 > "229 Entering Passive Mode (|||40629|)[LF]" 20:55:20.115620 Client has been notified that DATA conn will be accepted on port 40629 20:55:20.115770 Client connects to port 40629 20:55:20.115795 ====> Client established passive DATA connection on port 40629 20:55:20.115854 < "TYPE I" 20:55:20.115875 > "200 I modify TYPE as you wanted[CR][LF]" 20:55:20.115989 < "SIZE verifiedserver" 20:55:20.116015 > "213 18[CR][LF]" 20:55:20.116127 < "RETR verifiedserver" 20:55:20.116192 > "150 Binary junk (18 bytes).[CR][LF]" 20:55:20.116260 =====> Closing passive DATA connection... 20:55:20.116273 Server disconnects passive DATA connection 20:55:20.116364 Server disconnected passive DATA connection 20:55:20.116393 DATA sockfilt for passive data channel quits (pid 142435) 20:55:20.116571 DATA sockfilt for passive data channel quit (pid 142435) 20:55:20.116590 =====> Closed passive DATA connection 20:55:20.116611 > "226 File transfer complete[CR][LF]" 20:55:20.158994 < "QUIT" 20:55:20.159049 > "221 bye bye baby[CR][LF]" 20:55:20.160049 MAIN sockfilt said DISC 20:55:20.160098 ====> Client disconnected 20:55:20.160176 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 20:55:20.333829 ====> Client connect 20:55:20.334042 Received DATA (on stdin) 20:55:20.334053 > 160 bytes data, server => client 20:55:20.334062 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:20.334070 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:20.334077 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:20.334145 < 16 bytes data, client => server 20:55:20.334163 'USER anonymous\r\n' 20:55:20.334300 Received DATA (on stdin) 20:55:20.334309 > 33 bytes data, server => client 20:55:20.334317 '331 We are happy you popped in!\r\n' 20:55:20.334367 < 22 bytes data, client => server 20:55:20.334385 'PASS ftp@example.com\r\n' 20:55:20.334484 Received DATA (on stdin) 20:55:20.334496 > 30 bytes data, server => client 20:55:20.334509 '230 Welcome you silly person\r\n' 20:55:20.334588 < 5 bytes data, client => server 20:55:20.334609 'PWD\r\n' 20:55:20.334783 Received DATA (on stdin) 20:55:20.334796 > 30 bytes data, server => client 20:55:20.334806 '257 "/" is current directory\r\n' 20:55:20.334877 < 6 bytes data, client => server 20:55:20.334898 'EPSV\r\n' 20:55:20.337133 Received DATA (on stdin) 20:55:20.337144 > 38 bytes data, server => client 20:55:20.337152 '229 Entering Passive Mode (|||40629|)\n' 20:55:20.337241 < 8 bytes data, client => server 20:55:20.337254 'TYPE I\r\n' 20:55:20.337379 Received DATA (on stdin) 20:55:20.337389 > 33 bytes data, server => client 20:55:20.337397 '200 I modify TYPE as you wanted\r\n' 20:55:20.337436 < 21 bytes data, client => server 20:55:20.337444 'SIZE verifiedserver\r\n' 20:55:20.337524 Received DATA (on stdin) 20:55:20.337535 > 8 bytes data, server => client 20:55:20.337544 '213 18\r\n' 20:55:20.337583 < 21 bytes data, client => server 20:55:20.337593 'RETR verifiedserver\r\n' 20:55:20.337781 Received DATA (on stdin) 20:55:20.337793 > 29 bytes data, server => client 20:55:20.337801 '150 Binary junk (18 bytes).\r\n' 20:55:20.338118 Received DATA (on stdin) 20:55:20.338129 > 28 bytes data, server => client 20:55:20.338137 '226 File transfer complete\r\n' 20:55:20.380309 < 6 bytes data, client => server 20:55:20.380341 'QUIT\r\n' 20:55:20.380882 Received DATA (on stdin) 20:55:20.380904 > 18 bytes data, server => client 20:55:20.380912 '221 bye bye baby\r\n' 20:55:20.381474 ====> Client disconnect 20:55:20.381689 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 20:55:20.336341 Running IPv4 version 20:55:20.336383 Listening on port 40629 20:55:20.336412 Wrote pid 142435 to log/1/server/ftp_sockdata.pid 20:55:20.336872 Received PING (on stdin) 20:55:20.336957 Received PORT (on stdin) 20:55:20.337230 ====> Client connect 20:55:20.337762 Received DATA (on stdin) 20:55:20.337779 > 18 bytes data, server => client 20:55:20.337788 'WE ROOLZ: 110705\r\n' 20:55:20.337811 Received DISC (on stdin) 20:55:20.337825 ====> Client forcibly disconnected 20:55:20.337910 Received QUIT (on stdin) 20:55:20.337920 quits 20:55:20.337962 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 20:55:20.399915 Run as proxy, CONNECT to host 127.0.0.1 20:55:20.399971 Running HTTP IPv4 version on port 37951 20:55:20.400003 Wrote pid 142469 to log/1/server/http2_server.pid 20:55:20.400025 Wrote port 37951 to log/1/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 20:55:21.386476 Running IPv4 version 20:55:21.386519 Listening on port 46511 20:55:21.386547 Wrote pid 143526 to log/1/server/socks_server.pid 20:55:21.386569 Wrote port 46511 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==145830== ==145830== Process terminating with default action of signal 4 (SIGILL) ==145830== Illegal opcode at address 0x4003082 ==145830== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145830== by 0x4003082: main (tool_main.c:243) === End of file valgrind715 * starts no server test 0751...[multi - add many 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/9/valgrind751 ./libtest/lib751 - > log/9/stdout751 2> log/9/stderr751 lib751 returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/9/ dir after test 751 === Start of file commands.log ../libtool --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/valgrind751 ./libtest/lib751 - > log/9/stdout751 2> log/9/stderr751 === End of file commands.log === Start of file server.cmd Testnum 751 === End of file server.cmd === Start of file stderr751 URL: - === End of file stderr751 === Start of file valgrind751 ==145255== ==145255== Process terminating with default action of signal 4 (SIGILL) ==145255== Illegal opcode at address 0x48E3D1B ==145255== at 0x48E3D1B: UnknownInlinedFun (string_fortified.h:59) ==145255== by 0x48E3D1B: UnknownInlinedFun (uint-table.c:40) ==145255== by 0x48E3D1B: Curl_multi_handle (multi.c:235) ==145255== by 0x4001219: test.isra.0 (lib751.c:48) ==145255== by 0x4001066: main (first.c:196) ==145255== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==145255== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==145255== by 0x4A93FA5: __tsearch (tsearch.c:337) ==145255== by 0x4A93FA5: tsearch (tsearch.c:290) ==145255== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==145255== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==145255== by 0x49A63F0: add_alias (gconv_conf.c:178) ==145255== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==145255== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==145255== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==145255== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==145255== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==145255== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==145255== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==145255== by 0x49B1142: setlocale (setlocale.c:337) ==145255== by 0x4001041: main (first.c:135) ==145255== ==145255== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==145255== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==145255== by 0x4A93FA5: __tsearch (tsearch.c:337) ==145255== by 0x4A93FA5: tsearch (tsearch.c:290) ==145255== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==145255== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==145255== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==145255== by 0x4A16CB3: __pthread_once_slow.isra.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/valgrind805 ../src/curl -q --output log/10/curl805.out --include --trace-ascii log/10/trace805 --trace-config all --trace-time imap://127.0.0.1:36287/805 -T log/10/upload805 -u user:secret > log/10/stdout805 2> log/10/stderr805 (pthread_once.c:116) ==145255== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==145255== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==145255== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==145255== by 0x49B1142: setlocale (setlocale.c:337) ==145255== by 0x4001041: main (first.c:135) ==145255== ==145255== 632 bytes in 1 blocks are definitely lost in loss record 613 of 655 ==145255== at 0x4851C13: calloc (vg_replace_malloc.c:1675) ==145255== by 0x48E3C74: Curl_multi_handle (multi.c:226) ==145255== by 0x4001219: test.isra.0 (lib751.c:48) ==145255== by 0x4001066: main (first.c:196) ==145255== ==145255== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==145255== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==145255== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==145255== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==145255== by 0x49A63F0: add_alias (gconv_conf.c:178) ==145255== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==145255== by 0x49A6555: gconv_parseconfdir (gconv_parseconfdir.h:139) ==145255== by 0x49A6555: __gconv_read_conf (gconv_conf.c:480) ==145255== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==145255== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==145255== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==145255== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==145255== by 0x49B1142: setlocale (setlocale.c:337) ==145255== by 0x4001041: main (first.c:135) ==145255== ==145255== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 655 ==145255== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==145255== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==145255== by 0x49A674A: add_alias2 (gconv_conf.c:105) ==145255== by 0x49A674A: __gconv_read_conf (gconv_conf.c:508) ==145255== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==145255== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==145255== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==145255== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==145255== by 0x49B1142: setlocale (setlocale.c:337) ==145255== by 0x4001041: main (first.c:135) ==145255== ==145255== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==145255== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==145255== by 0x4A93FA5: __tsearch (tsearch.c:337) ==145255== by 0x4A93FA5: tsearch (tsearch.c:290) ==145255== by 0x49A60F4: add_alias2.part.0 (gconv_conf.c:142) ==145255== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==145255== by 0x49A63F0: add_alias (gconv_conf.c:178) ==145255== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==145255== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==145255== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==145255== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==145255== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==145255== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==145255== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==145255== by 0x49B1142: setlocale (setlocale.c:337) ==145255== by 0x4001041: main (first.c:135) ==145255== ==145255== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==145255== at 0x484A7A8: malloc (vg_replace_malloc.c:446) ==145255== by 0x49A60A9: add_alias2.part.0 (gconv_conf.c:132) ==145255== by 0x49A63F0: add_alias2 (gconv_conf.c:176) ==145255== by 0x49A63F0: add_alias (gconv_conf.c:178) ==145255== by 0x49A63F0: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==145255== by 0x49A6775: gconv_parseconfdir (gconv_parseconfdir.h:170) ==145255== by 0x49A6775: __gconv_read_conf (gconv_conf.c:480) ==145255== by 0x4A16CB3: __pthread_once_slow.isra.0 (pthread_once.c:116) ==145255== by 0x4A16D28: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==145255== by 0x49A5246: __gconv_compare_alias (gconv_db.c:692) ==145255== by 0x49AEA3D: _nl_find_locale (findlocale.c:298) ==145255== by 0x49B1142: setlocale (setlocale.c:337) ==145255== by 0x4001041: main (first.c:135) ==145255== === End of file valgrind751 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/10/valgrind805 ../src/curl -q --output log/10/curl805.out --include --trace-ascii log/10/trace805 --trace-config all --trace-time imap://127.0.0.1:36287/805 -T log/10/upload805 -u user:secret > log/10/stdout805 2> log/10/stderr805 805: 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 805 === Start of file commands.log ../libtool --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/valgrind805 ../src/curl -q --output log/10/curl805.out --include --trace-ascii log/10/trace805 --trace-config all --trace-time imap://127.0.0.1:36287/805 -T log/10/upload805 -u user:secret > log/10/stdout805 2> log/10/stderr805 === End of file commands.log === Start of file imap_server.log 20:55:22.220440 ====> Client connect 20:55:22.220644 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:22.221015 < "A001 CAPABILITY" 20:55:22.221057 > "A001 BAD Command[CR][LF]" 20:55:22.222159 < "A002 LIST "verifiedserver" *" 20:55:22.222189 LIST_imap got "verifiedserver" * 20:55:22.222213 > "* LIST () "/" "WE ROOLZ: 140651"[CR][LF]" 20:55:22.222229 > "A002 OK LIST Completed[CR][LF]" 20:55:22.222240 return proof we are we 20:55:22.265730 < "A003 LOGOUT" 20:55:22.265775 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:22.265787 > "A003 OK LOGOUT completed[CR][LF]" 20:55:22.266647 MAIN sockfilt said DISC 20:55:22.266668 ====> Client disconnected 20:55:22.266827 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.441830 ====> Client connect 20:55:22.442175 Received DATA (on stdin) 20:55:22.442196 > 178 bytes data, server => client 20:55:22.442208 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:22.442219 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:22.442229 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:22.442237 'rve\r\n' 20:55:22.442357 < 17 bytes data, client => server 20:55:22.442373 'A001 CAPABILITY\r\n' 20:55:22.442569 Received DATA (on stdin) 20:55:22.442581 > 18 bytes data, server => client 20:55:22.442591 'A001 BAD Command\r\n' 20:55:22.442648 < 30 bytes data, client => server 20:55:22.442661 'A002 LIST "verifiedserver" *\r\n' 20:55:22.443746 Received DATA (on stdin) 20:55:22.443761 > 34 bytes data, server => client 20:55:22.443770 '* LIST () "/" "WE ROOLZ: 140651"\r\n' 20:55:22.443788 Received DATA (on stdin) 20:55:22.443796 > 24 bytes data, server => client 20:55:22.443803 'A002 OK LIST Completed\r\n' 20:55:22.487121 < 13 bytes data, client => server 20:55:22.487144 'A003 LOGOUT\r\n' 20:55:22.487296 Received DATA (on stdin) 20:55:22.487311 > 36 bytes data, server => client 20:55:22.487319 '* BYE curl IMAP server signing off\r\n' 20:55:22.487344 Received DATA (on stdin) 20:55:22.487351 > 26 bytes data, server => client 20:55:22.487358 'A003 OK LOGOUT completed\r\n' 20:55:22.488108 ====> Client disconnect 20:55:22.488214 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.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/valgrind807 ../src/curl -q --output log/4/curl807.out --include --trace-ascii log/4/trace807 --trace-config all --trace-time imap://127.0.0.1:42607 -u user:secret -X 'LSUB "807" *' > log/4/stdout807 2> log/4/stderr807 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind742 ../src/curl -q --output log/23/curl742.out --include --trace-ascii log/23/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:38539 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:46517 > log/23/stdout742 2> log/23/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/10/valgrind817 ../src/curl -q --output log/10/curl817.out --include --trace-ascii log/10/trace817 --trace-config all --trace-time imap://127.0.0.1:36287 -u user:secret -X 'COPY 123 817' > log/10/stdout817 2> log/10/stderr817 om 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 ==145925== ==145925== Process terminating with default action of signal 4 (SIGILL) ==145925== Illegal opcode at address 0x4003082 ==145925== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==145925== by 0x4003082: main (tool_main.c:243) === End of file valgrind805 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/4/valgrind807 ../src/curl -q --output log/4/curl807.out --include --trace-ascii log/4/trace807 --trace-config all --trace-time imap://127.0.0.1:42607 -u user:secret -X 'LSUB "807" *' > log/4/stdout807 2> log/4/stderr807 807: 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 807 === Start of file commands.log ../libtool --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/valgrind807 ../src/curl -q --output log/4/curl807.out --include --trace-ascii log/4/trace807 --trace-config all --trace-time imap://127.0.0.1:42607 -u user:secret -X 'LSUB "807" *' > log/4/stdout807 2> log/4/stderr807 === End of file commands.log === Start of file imap_server.log 20:55:22.368746 ====> Client connect 20:55:22.368858 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:22.369061 < "A001 CAPABILITY" 20:55:22.369089 > "A001 BAD Command[CR][LF]" 20:55:22.369199 < "A002 LIST "verifiedserver" *" 20:55:22.369220 LIST_imap got "verifiedserver" * 20:55:22.369238 > "* LIST () "/" "WE ROOLZ: 139439"[CR][LF]" 20:55:22.369250 > "A002 OK LIST Completed[CR][LF]" 20:55:22.369258 return proof we are we 20:55:22.412265 < "A003 LOGOUT" 20:55:22.412315 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:22.412334 > "A003 OK LOGOUT completed[CR][LF]" 20:55:22.412457 MAIN sockfilt said DISC 20:55:22.412471 ====> Client disconnected 20:55:22.412522 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.590160 ====> Client connect 20:55:22.590369 Received DATA (on stdin) 20:55:22.590379 > 178 bytes data, server => client 20:55:22.590388 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:22.590395 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:22.590403 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:22.590409 'rve\r\n' 20:55:22.590464 < 17 bytes data, client => server 20:55:22.590478 'A001 CAPABILITY\r\n' 20:55:22.590593 Received DATA (on stdin) 20:55:22.590602 > 18 bytes data, server => client 20:55:22.590609 'A001 BAD Command\r\n' 20:55:22.590650 < 30 bytes data, client => server 20:55:22.590662 'A002 LIST "verifiedserver" *\r\n' 20:55:22.590760 Received DATA (on stdin) 20:55:22.590769 > 34 bytes data, server => client 20:55:22.590776 '* LIST () "/" "WE ROOLZ: 139439"\r\n' 20:55:22.590791 Received DATA (on stdin) 20:55:22.590800 > 24 bytes data, server => client 20:55:22.590809 'A002 OK LIST Completed\r\n' 20:55:22.633640 < 13 bytes data, client => server 20:55:22.633668 'A003 LOGOUT\r\n' 20:55:22.633843 Received DATA (on stdin) 20:55:22.633855 > 36 bytes data, server => client 20:55:22.633865 '* BYE curl IMAP server signing off\r\n' 20:55:22.633886 Received DATA (on stdin) 20:55:22.633896 > 26 bytes data, server => client 20:55:22.633906 'A003 OK LOGOUT completed\r\n' 20:55:22.633928 ====> Client disconnect 20:55:22.634023 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 ==146007== ==146007== Process terminating with default action of signal 4 (SIGILL) ==146007== Illegal opcode at address 0x4003082 ==146007== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146007== by 0x4003082: main (tool_main.c:243) === End of file valgrind807 startnew: ./server/socksd --port 0 --pidfile log/23/server/socks_server.pid --portfile log/23/server/socks_server.port --reqfile log/23/socksd-request.log --logfile log/23/socks_server.log --backend 127.0.0.1 --config log/23/server.cmd RUN: SOCKS server is now running PID 144661 * pid socks => 144661 144661 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/23/valgrind742 ../src/curl -q --output log/23/curl742.out --include --trace-ascii log/23/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:38539 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:46517 > log/23/stdout742 2> log/23/stderr742 742: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 742 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind742 ../src/curl -q --output log/23/curl742.out --include --trace-ascii log/23/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:38539 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:46517 > log/23/stdout742 2> log/23/stderr742 === End of file commands.log === Start of file http_server.log 20:55:22.900323 ====> Client connect 20:55:22.900344 accept_connection 3 returned 4 20:55:22.900355 accept_connection 3 returned 0 20:55:22.900364 Read 93 bytes 20:55:22.900370 Process 93 bytes request 20:55:22.900380 Got request: GET /verifiedserver HTTP/1.1 20:55:22.900386 Are-we-friendly question received 20:55:22.900401 Wrote request (93 bytes) input to log/23/server.input 20:55:22.900411 Identifying ourselves as friends 20:55:22.900445 Response sent (57 bytes) and written to log/23/server.response 20:55:22.900451 special request received, no persistency 20:55:22.900457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38539... * Connected to 127.0.0.1 (127.0.0.1) port 38539 *CMD (33792): ../libtool --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/valgrind818 ../src/curl -q --output log/4/curl818.out --include --trace-ascii log/4/trace818 --trace-config all --trace-time imap://127.0.0.1:42607 -X NOOP -u user:secret > log/4/stdout818 2> log/4/stderr818 using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38539 > User-Agent: curl/8.14.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: 104804 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 38539 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104804 === End of file server.response === Start of file socks_server.log 20:55:21.888428 Running IPv4 version 20:55:21.888489 Listening on port 46517 20:55:21.888521 Wrote pid 144661 to log/23/server/socks_server.pid 20:55:21.888548 Wrote port 46517 to log/23/server/socks_server.port === End of file socks_server.log === Start of file valgrind742 ==146113== ==146113== Process terminating with default action of signal 4 (SIGILL) ==146113== Illegal opcode at address 0x4003082 ==146113== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146113== by 0x4003082: main (tool_main.c:243) === End of file valgrind742 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/10/valgrind817 ../src/curl -q --output log/10/curl817.out --include --trace-ascii log/10/trace817 --trace-config all --trace-time imap://127.0.0.1:36287 -u user:secret -X 'COPY 123 817' > log/10/stdout817 2> log/10/stderr817 817: 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 817 === Start of file commands.log ../libtool --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/valgrind817 ../src/curl -q --output log/10/curl817.out --include --trace-ascii log/10/trace817 --trace-config all --trace-time imap://127.0.0.1:36287 -u user:secret -X 'COPY 123 817' > log/10/stdout817 2> log/10/stderr817 === End of file commands.log === Start of file imap_server.log 20:55:22.629282 ====> Client connect 20:55:22.629380 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:22.629558 < "A001 CAPABILITY" 20:55:22.629580 > "A001 BAD Command[CR][LF]" 20:55:22.629681 < "A002 LIST "verifiedserver" *" 20:55:22.629698 LIST_imap got "verifiedserver" * 20:55:22.629713 > "* LIST () "/" "WE ROOLZ: 140651"[CR][LF]" 20:55:22.629723 > "A002 OK LIST Completed[CR][LF]" 20:55:22.629731 return proof we are we 20:55:22.675509 < "A003 LOGOUT" 20:55:22.675533 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:22.675544 > "A003 OK LOGOUT completed[CR][LF]" 20:55:22.675647 MAIN sockfilt said DISC 20:55:22.675661 ====> Client disconnected 20:55:22.675699 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.850703 ====> Client connect 20:55:22.850888 Received DATA (on stdin) 20:55:22.850897 > 178 bytes data, server => client 20:55:22.850905 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:22.850912 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:22.850918 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:22.850924 'rve\r\n' 20:55:22.850968 < 17 bytes data, client => server 20:55:22.850975 'A001 CAPABILITY\r\n' 20:55:22.851082 Received DATA (on stdin) 20:55:22.851090 > 18 bytes data, server => client 20:55:22.851096 'A001 BAD Command\r\n' 20:55:22.851131 < 30 bytes data, client => server 20:55:22.851138 'A002 LIST "verifiedserver" *\r\n' 20:55:22.851232 Received DATA (on stdin) 20:55:22.851239 > 34 bytes data, server => client 20:55:22.851246 '* LIST () "/" "WE ROOLZ: 140651"\r\n' 20:55:22.851259 Received DATA (on stdin) 20:55:22.851265 > 24 bytes data, server => client 20:55:22.851271 'A002 OK LIST Completed\r\n' 20:55:22.896923 < 13 bytes data, client => server 20:55:22.896937 'A003 LOGOUT\r\n' 20:55:22.897045 Received DATA (on stdin) 20:55:22.897053 > 36 bytes data, server => client 20:55:22.897059 '* BYE curl IMAP server signing off\r\n' 20:55:22.897076 Received DATA (on stdin) 20:55:22.897083 > 26 bytes data, server => client 20:55:22.897089 'A003 OK LOGOUT completed\r\n' 20:55:22.897123 ====> Client disconnect 20:55:22.897165 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 ==146103== ==146103== Process terminating with default action of signal 4 (SIGILL) ==146103== Illegal opcode at address 0x4003082 ==146103== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146103== by 0x4003082: main (tool_main.c:243) === 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/4/valgrind818 ../src/curl -q --output log/4/curl818.out --include --trace-ascii log/4/trace818 --trace-config all --trace-time imap://127.0.0.1:42607 -X NOOP -u user:secret > log/4/stdout818 2> log/4/stderr818 818: 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 818 === Start of file commands.log ../libtool --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/valgrind818 ../src/curl -q --output log/4/curl818.out --include --trace-ascii log/4/trace818 --trace-config all --trace-time imap://127.0.0.1:42607 -X NOOP -u user:secret > log/4/stdout818 2> log/4/stderr818 === End of file commands.log === Start of file imap_server.log 20:55:22.827370 ====> Client connect 20:55:22.827452 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:22.827628 < "A001 CAPABILITY" 20:55:22.827651 > "A001 BAD Command[CR][LF]" 20:55:22.827754 < "A002 LIST "verifiedserver" *" 20:55:22.827771 LIST_imap got "verifiedserver" * 20:55:22.827785 > "* LIST () "/" "WE ROOLZ: 139439"[CR][LF]" 20:55:22.827795 > "A002 OK LIST Completed[CR][LF]" 20:55:22.827803 return proof we are we 20:55:22.872296 < "A003 LOGOUT" 20:55:22.872327 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:22.872338 > "A003 OK LOGOUT completed[CR][LF]" 20:55:22.872665 MAIN sockfilt said DISC 20:55:22.872683 ====> Client disconnected 20:55:22.872719 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.048804 ====> Client connect 20:55:23.048960 Received DATA (on stdin) 20:55:23.048969 > 178 bytes data, server => client 20:55:23.048976 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.048983 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.048990 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.048996 'rve\r\n' 20:55:23.049040 < 17 bytes data, client => 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/10/valgrind820 ../src/curl -q --output log/10/curl820.out --include --trace-ascii log/10/trace820 --trace-config all --trace-time 'imap://127.0.0.1:36287/820/;MAILINDEX=1' -u user:secret > log/10/stdout820 2> log/10/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/22/valgrind799 ../src/curl -q --output log/22/curl799.out --include --trace-ascii log/22/trace799 --trace-config all --trace-time 'imap://127.0.0.1:34797/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/22/stdout799 2> log/22/stderr799 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind801 ../src/curl -q --output log/18/curl801.out --include --trace-ascii log/18/trace801 --trace-config all --trace-time 'imap://127.0.0.1:42007/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/18/stdout801 2> log/18/stderr801 20:55:23.049047 'A001 CAPABILITY\r\n' 20:55:23.049153 Received DATA (on stdin) 20:55:23.049161 > 18 bytes data, server => client 20:55:23.049167 'A001 BAD Command\r\n' 20:55:23.049203 < 30 bytes data, client => server 20:55:23.049210 'A002 LIST "verifiedserver" *\r\n' 20:55:23.049303 Received DATA (on stdin) 20:55:23.049311 > 34 bytes data, server => client 20:55:23.049317 '* LIST () "/" "WE ROOLZ: 139439"\r\n' 20:55:23.049330 Received DATA (on stdin) 20:55:23.049337 > 24 bytes data, server => client 20:55:23.049343 'A002 OK LIST Completed\r\n' 20:55:23.093656 < 13 bytes data, client => server 20:55:23.093683 'A003 LOGOUT\r\n' 20:55:23.093840 Received DATA (on stdin) 20:55:23.093847 > 36 bytes data, server => client 20:55:23.093854 '* BYE curl IMAP server signing off\r\n' 20:55:23.093867 Received DATA (on stdin) 20:55:23.093874 > 26 bytes data, server => client 20:55:23.093880 'A003 OK LOGOUT completed\r\n' 20:55:23.094135 ====> Client disconnect 20:55:23.094220 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 ==146219== ==146219== Process terminating with default action of signal 4 (SIGILL) ==146219== Illegal opcode at address 0x4003082 ==146219== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146219== by 0x4003082: main (tool_main.c:243) === End of file valgrind818 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/10/valgrind820 ../src/curl -q --output log/10/curl820.out --include --trace-ascii log/10/trace820 --trace-config all --trace-time 'imap://127.0.0.1:36287/820/;MAILINDEX=1' -u user:secret > log/10/stdout820 2> log/10/stderr820 820: 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 820 === Start of file commands.log ../libtool --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/valgrind820 ../src/curl -q --output log/10/curl820.out --include --trace-ascii log/10/trace820 --trace-config all --trace-time 'imap://127.0.0.1:36287/820/;MAILINDEX=1' -u user:secret > log/10/stdout820 2> log/10/stderr820 === End of file commands.log === Start of file imap_server.log 20:55:23.072314 ====> Client connect 20:55:23.072416 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.072668 < "A001 CAPABILITY" 20:55:23.072691 > "A001 BAD Command[CR][LF]" 20:55:23.072812 < "A002 LIST "verifiedserver" *" 20:55:23.072829 LIST_imap got "verifiedserver" * 20:55:23.072843 > "* LIST () "/" "WE ROOLZ: 140651"[CR][LF]" 20:55:23.072853 > "A002 OK LIST Completed[CR][LF]" 20:55:23.072861 return proof we are we 20:55:23.118883 < "A003 LOGOUT" 20:55:23.118918 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.118936 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.119835 MAIN sockfilt said DISC 20:55:23.119852 ====> Client disconnected 20:55:23.119890 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.293742 ====> Client connect 20:55:23.293923 Received DATA (on stdin) 20:55:23.293963 > 178 bytes data, server => client 20:55:23.293976 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.293983 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.293990 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.293996 'rve\r\n' 20:55:23.294063 < 17 bytes data, client => server 20:55:23.294071 'A001 CAPABILITY\r\n' 20:55:23.294194 Received DATA (on stdin) 20:55:23.294203 > 18 bytes data, server => client 20:55:23.294210 'A001 BAD Command\r\n' 20:55:23.294257 < 30 bytes data, client => server 20:55:23.294265 'A002 LIST "verifiedserver" *\r\n' 20:55:23.294362 Received DATA (on stdin) 20:55:23.294369 > 34 bytes data, server => client 20:55:23.294376 '* LIST () "/" "WE ROOLZ: 140651"\r\n' 20:55:23.294389 Received DATA (on stdin) 20:55:23.294395 > 24 bytes data, server => client 20:55:23.294402 'A002 OK LIST Completed\r\n' 20:55:23.340256 < 13 bytes data, client => server 20:55:23.340279 'A003 LOGOUT\r\n' 20:55:23.340446 Received DATA (on stdin) 20:55:23.340458 > 36 bytes data, server => client 20:55:23.340470 '* BYE curl IMAP server signing off\r\n' 20:55:23.340493 Received DATA (on stdin) 20:55:23.340504 > 26 bytes data, server => client 20:55:23.340515 'A003 OK LOGOUT completed\r\n' 20:55:23.341305 ====> Client disconnect 20:55:23.341390 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 ==146289== ==146289== Process terminating with default action of signal 4 (SIGILL) ==146289== Illegal opcode at address 0x4003082 ==146289== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146289== by 0x4003082: main (tool_main.c:243) === End of file valgrind820 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/imap_server.pid" --logfile "log/22/imap_server.log" --logdir "log/22" --portfile "log/22/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34797 (log/22/server/imap_server.port) RUN: IMAP server is PID 145725 port 34797 * pid imap => 145725 145725 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/22/valgrind799 ../src/curl -q --output log/22/curl799.out --include --trace-ascii log/22/trace799 --trace-config all --trace-time 'imap://127.0.0.1:34797/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/22/stdout799 2> log/22/stderr799 799: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 799 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind799 ../src/curl -q --output log/22/curl799.out --include --trace-ascii log/22/trace799 --trace-config all --trace-time 'imap://127.0.0.1:34797/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/22/stdout799 2> log/22/stderr799 === End of file commands.log === Start of file imap_server.log 20:55:22.149285 IMAP server listens on port IPv4/34797 20:55:22.149360 logged pid 145725 in log/22/server/imap_server.pid 20:55:22.149379 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.370468 Running IPv4 version 20:55:22.370532 Listening on port 34797 20:55:22.370574 Wrote pid 145761 to log/22/server/imap_sockfilt.pid 20:55:22.370613 Wrote port 34797 to log/22/server/imap_server.port 20:55:22.370636 Received PING (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 ==146288== ==146288== Process terminating with default action of signal 4 (SIGILL) ==146288== Illegal opcode at address 0x4003082 ==146288== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146288== by 0x4003082: main (tool_main.c:243) === End of file valgrind799 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/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/20/valgrind802 ../src/curl -q --output log/20/curl802.out --include --trace-ascii log/20/trace802 --trace-config all --trace-time 'imap://127.0.0.1:32917/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/20/stdout802 2> log/20/stderr802 CMD (33792): ../libtool --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/valgrind800 ../src/curl -q --output log/5/curl800.out --include --trace-ascii log/5/trace800 --trace-config all --trace-time 'imap://127.0.0.1:36315/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/5/stdout800 2> log/5/stderr800 CMD (33792): ../libtool --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/valgrind804 ../src/curl -q --output log/11/curl804.out --include --trace-ascii log/11/trace804 --trace-config all --trace-time 'imap://127.0.0.1:45825/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:45825/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/11/stdout804 2> log/11/stderr804 rl/tests/ftpserver.pl --pidfile "log/18/server/imap_server.pid" --logfile "log/18/imap_server.log" --logdir "log/18" --portfile "log/18/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42007 (log/18/server/imap_server.port) RUN: IMAP server is PID 145801 port 42007 * pid imap => 145801 145801 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/18/valgrind801 ../src/curl -q --output log/18/curl801.out --include --trace-ascii log/18/trace801 --trace-config all --trace-time 'imap://127.0.0.1:42007/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/18/stdout801 2> log/18/stderr801 801: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 801 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind801 ../src/curl -q --output log/18/curl801.out --include --trace-ascii log/18/trace801 --trace-config all --trace-time 'imap://127.0.0.1:42007/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/18/stdout801 2> log/18/stderr801 === End of file commands.log === Start of file imap_server.log 20:55:22.195571 IMAP server listens on port IPv4/42007 20:55:22.195632 logged pid 145801 in log/18/server/imap_server.pid 20:55:22.195650 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.416894 Running IPv4 version 20:55:22.416937 Listening on port 42007 20:55:22.416965 Wrote pid 145869 to log/18/server/imap_sockfilt.pid 20:55:22.416988 Wrote port 42007 to log/18/server/imap_server.port 20:55:22.417003 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 801 === End of file server.cmd === Start of file valgrind801 ==146387== ==146387== Process terminating with default action of signal 4 (SIGILL) ==146387== Illegal opcode at address 0x4003082 ==146387== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146387== by 0x4003082: main (tool_main.c:243) === End of file valgrind801 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/imap_server.pid" --logfile "log/20/imap_server.log" --logdir "log/20" --portfile "log/20/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32917 (log/20/server/imap_server.port) RUN: IMAP server is PID 145855 port 32917 * pid imap => 145855 145855 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/20/valgrind802 ../src/curl -q --output log/20/curl802.out --include --trace-ascii log/20/trace802 --trace-config all --trace-time 'imap://127.0.0.1:32917/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/20/stdout802 2> log/20/stderr802 802: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind802 ../src/curl -q --output log/20/curl802.out --include --trace-ascii log/20/trace802 --trace-config all --trace-time 'imap://127.0.0.1:32917/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/20/stdout802 2> log/20/stderr802 === End of file commands.log === Start of file imap_server.log 20:55:22.216804 IMAP server listens on port IPv4/32917 20:55:22.216891 logged pid 145855 in log/20/server/imap_server.pid 20:55:22.216919 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.438047 Running IPv4 version 20:55:22.438113 Listening on port 32917 20:55:22.438158 Wrote pid 145915 to log/20/server/imap_sockfilt.pid 20:55:22.438189 Wrote port 32917 to log/20/server/imap_server.port 20:55:22.438209 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 802 === End of file server.cmd === Start of file valgrind802 ==146459== ==146459== Process terminating with default action of signal 4 (SIGILL) ==146459== Illegal opcode at address 0x4003082 ==146459== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146459== by 0x4003082: main (tool_main.c:243) === End of file valgrind802 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 36315 (log/5/server/imap_server.port) RUN: IMAP server is PID 145800 port 36315 * pid imap => 145800 145800 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/5/valgrind800 ../src/curl -q --output log/5/curl800.out --include --trace-ascii log/5/trace800 --trace-config all --trace-time 'imap://127.0.0.1:36315/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/5/stdout800 2> log/5/stderr800 800: 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 800 === Start of file commands.log ../libtool --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/valgrind800 ../src/curl -q --output log/5/curl800.out --include --trace-ascii log/5/trace800 --trace-config all --trace-time 'imap://127.0.0.1:36315/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/5/stdout800 2> log/5/stderr800 === End of file commands.log === Start of file imap_server.log 20:55:22.197138 IMAP server listens on port IPv4/36315 20:55:22.197214 logged pid 145800 in log/5/server/imap_server.pid 20:55:22.197236 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.418322 Running IPv4 version 20:55:22.418385 Listening on port 36315 20:55:22.418427 Wrote pid 145872 to log/5/server/imap_sockfilt.pid 20:55:22.418461 Wrote port 36315 to log/5/server/imap_server.port 20:55:22.418574 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 800 === End of file server.cmd === Start of file valgrind800 ==146388== ==146388== Process terminating with default action of signal 4 (SIGILL) ==146388== Illegal opcode at address 0x4003082 ==146388== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146388== by 0x4003082: main (tool_main.c:243) === End of file valgrind800 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 45825 (log/11/server/imap_server.port) RUN: IMAP server is PID 145874 port 45825 * pid imap => 145874 145874 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/11/valgrind804 ../src/curl -q --output log/11/curl804CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind803 ../src/curl -q --output log/15/curl803.out --include --trace-ascii log/15/trace803 --trace-config all --trace-time 'imap://127.0.0.1:43933/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/15/stdout803 2> log/15/stderr803 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind806 ../src/curl -q --output log/16/curl806.out --include --trace-ascii log/16/trace806 --trace-config all --trace-time imap://127.0.0.1:43265/806 -u user:secret > log/16/stdout806 2> log/16/stderr806 CMD (33792): ../libtool --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:42607/821/;MAILINDEX=1' -u user:secret > log/4/stdout821 2> log/4/stderr821 .out --include --trace-ascii log/11/trace804 --trace-config all --trace-time 'imap://127.0.0.1:45825/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:45825/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/11/stdout804 2> log/11/stderr804 804: 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 804 === Start of file commands.log ../libtool --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/valgrind804 ../src/curl -q --output log/11/curl804.out --include --trace-ascii log/11/trace804 --trace-config all --trace-time 'imap://127.0.0.1:45825/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:45825/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/11/stdout804 2> log/11/stderr804 === End of file commands.log === Start of file imap_server.log 20:55:22.227883 IMAP server listens on port IPv4/45825 20:55:22.227939 logged pid 145874 in log/11/server/imap_server.pid 20:55:22.227955 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.449145 Running IPv4 version 20:55:22.449193 Listening on port 45825 20:55:22.449221 Wrote pid 145918 to log/11/server/imap_sockfilt.pid 20:55:22.449241 Wrote port 45825 to log/11/server/imap_server.port 20:55:22.449330 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 804 === End of file server.cmd === Start of file valgrind804 ==146514== ==146514== Process terminating with default action of signal 4 (SIGILL) ==146514== Illegal opcode at address 0x4003082 ==146514== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146514== by 0x4003082: main (tool_main.c:243) === End of file valgrind804 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/imap_server.pid" --logfile "log/15/imap_server.log" --logdir "log/15" --portfile "log/15/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43933 (log/15/server/imap_server.port) RUN: IMAP server is PID 145864 port 43933 * pid imap => 145864 145864 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/15/valgrind803 ../src/curl -q --output log/15/curl803.out --include --trace-ascii log/15/trace803 --trace-config all --trace-time 'imap://127.0.0.1:43933/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/15/stdout803 2> log/15/stderr803 803: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 803 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind803 ../src/curl -q --output log/15/curl803.out --include --trace-ascii log/15/trace803 --trace-config all --trace-time 'imap://127.0.0.1:43933/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/15/stdout803 2> log/15/stderr803 === End of file commands.log === Start of file imap_server.log 20:55:22.220976 IMAP server listens on port IPv4/43933 20:55:22.221042 logged pid 145864 in log/15/server/imap_server.pid 20:55:22.221059 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.442299 Running IPv4 version 20:55:22.442346 Listening on port 43933 20:55:22.442377 Wrote pid 145916 to log/15/server/imap_sockfilt.pid 20:55:22.442398 Wrote port 43933 to log/15/server/imap_server.port 20:55:22.442413 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 803 === End of file server.cmd === Start of file valgrind803 ==146490== ==146490== Process terminating with default action of signal 4 (SIGILL) ==146490== Illegal opcode at address 0x4003082 ==146490== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146490== by 0x4003082: main (tool_main.c:243) === End of file valgrind803 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/imap_server.pid" --logfile "log/16/imap_server.log" --logdir "log/16" --portfile "log/16/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43265 (log/16/server/imap_server.port) RUN: IMAP server is PID 145917 port 43265 * pid imap => 145917 145917 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/16/valgrind806 ../src/curl -q --output log/16/curl806.out --include --trace-ascii log/16/trace806 --trace-config all --trace-time imap://127.0.0.1:43265/806 -u user:secret > log/16/stdout806 2> log/16/stderr806 806: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 806 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind806 ../src/curl -q --output log/16/curl806.out --include --trace-ascii log/16/trace806 --trace-config all --trace-time imap://127.0.0.1:43265/806 -u user:secret > log/16/stdout806 2> log/16/stderr806 === End of file commands.log === Start of file imap_server.log 20:55:22.249194 IMAP server listens on port IPv4/43265 20:55:22.249276 logged pid 145917 in log/16/server/imap_server.pid 20:55:22.249294 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.470500 Running IPv4 version 20:55:22.470565 Listening on port 43265 20:55:22.470596 Wrote pid 145921 to log/16/server/imap_sockfilt.pid 20:55:22.470615 Wrote port 43265 to log/16/server/imap_server.port 20:55:22.470630 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 806 === End of file server.cmd === Start of file valgrind806 ==146632== ==146632== Process terminating with default action of signal 4 (SIGILL) ==146632== Illegal opcode at address 0x4003082 ==146632== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146632== by 0x4003082: main (tool_main.c:243) === End of file valgrind806 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 ../src/curl -q --output log/4/curl821.out --include --trace-ascii log/4/trace821 --trace-config all --trace-time 'imap://127.0.0.1:42607/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 commands.log ../libtool --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:42607/821/;MAILINDEX=1' -u user:secret > log/4/stdout821 2> log/4/stderr821 === End of file commands.log === Start of file imap_server.log 20:55:23.268310 ====> Client connect 20:55:23.268413 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OKCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind810 ../src/curl -q --output log/17/curl810.out --include --trace-ascii log/17/trace810 --trace-config all --trace-time imap://127.0.0.1:37861/810?NEW -u user:secret > log/17/stdout810 2> log/17/stderr810 CMD (33792): ../libtool --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/valgrind808 ../src/curl -q --output log/12/curl808.out --include --trace-ascii log/12/trace808 --trace-config all --trace-time imap://127.0.0.1:33679 -u user:secret -X 'EXAMINE 808' > log/12/stdout808 2> log/12/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/19/valgrind812 ../src/curl -q --output log/19/curl812.out --include --trace-ascii log/19/trace812 --trace-config all --trace-time imap://127.0.0.1:40723 -u user:secret -X 'DELETE 812' > log/19/stdout812 2> log/19/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/valgrind809 ../src/curl -q --output log/7/curl809.out --include --trace-ascii log/7/trace809 --trace-config all --trace-time imap://127.0.0.1:36607 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/7/stdout809 2> log/7/stderr809 curl IMAP server ready to serve[CR][LF]" 20:55:23.268609 < "A001 CAPABILITY" 20:55:23.268632 > "A001 BAD Command[CR][LF]" 20:55:23.268775 < "A002 LIST "verifiedserver" *" 20:55:23.268795 LIST_imap got "verifiedserver" * 20:55:23.268813 > "* LIST () "/" "WE ROOLZ: 139439"[CR][LF]" 20:55:23.268825 > "A002 OK LIST Completed[CR][LF]" 20:55:23.268834 return proof we are we 20:55:23.312319 < "A003 LOGOUT" 20:55:23.312374 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.312393 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.312582 MAIN sockfilt said DISC 20:55:23.312612 ====> Client disconnected 20:55:23.312674 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.489720 ====> Client connect 20:55:23.489923 Received DATA (on stdin) 20:55:23.489933 > 178 bytes data, server => client 20:55:23.489941 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.489949 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.489956 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.489962 'rve\r\n' 20:55:23.490012 < 17 bytes data, client => server 20:55:23.490020 'A001 CAPABILITY\r\n' 20:55:23.490135 Received DATA (on stdin) 20:55:23.490143 > 18 bytes data, server => client 20:55:23.490150 'A001 BAD Command\r\n' 20:55:23.490208 < 30 bytes data, client => server 20:55:23.490220 'A002 LIST "verifiedserver" *\r\n' 20:55:23.490336 Received DATA (on stdin) 20:55:23.490344 > 34 bytes data, server => client 20:55:23.490352 '* LIST () "/" "WE ROOLZ: 139439"\r\n' 20:55:23.490367 Received DATA (on stdin) 20:55:23.490376 > 24 bytes data, server => client 20:55:23.490385 'A002 OK LIST Completed\r\n' 20:55:23.533664 < 13 bytes data, client => server 20:55:23.533715 'A003 LOGOUT\r\n' 20:55:23.533903 Received DATA (on stdin) 20:55:23.533915 > 36 bytes data, server => client 20:55:23.533926 '* BYE curl IMAP server signing off\r\n' 20:55:23.533950 Received DATA (on stdin) 20:55:23.533960 > 26 bytes data, server => client 20:55:23.533972 'A003 OK LOGOUT completed\r\n' 20:55:23.534037 ====> Client disconnect 20:55:23.534181 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 ==146703== ==146703== Process terminating with default action of signal 4 (SIGILL) ==146703== Illegal opcode at address 0x4003082 ==146703== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146703== by 0x4003082: main (tool_main.c:243) === End of file valgrind821 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/imap_server.pid" --logfile "log/17/imap_server.log" --logdir "log/17" --portfile "log/17/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37861 (log/17/server/imap_server.port) RUN: IMAP server is PID 145986 port 37861 * pid imap => 145986 145986 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/17/valgrind810 ../src/curl -q --output log/17/curl810.out --include --trace-ascii log/17/trace810 --trace-config all --trace-time imap://127.0.0.1:37861/810?NEW -u user:secret > log/17/stdout810 2> log/17/stderr810 810: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 810 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind810 ../src/curl -q --output log/17/curl810.out --include --trace-ascii log/17/trace810 --trace-config all --trace-time imap://127.0.0.1:37861/810?NEW -u user:secret > log/17/stdout810 2> log/17/stderr810 === End of file commands.log === Start of file imap_server.log 20:55:22.381770 IMAP server listens on port IPv4/37861 20:55:22.381831 logged pid 145986 in log/17/server/imap_server.pid 20:55:22.381847 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.603110 Running IPv4 version 20:55:22.603152 Listening on port 37861 20:55:22.603181 Wrote pid 146002 to log/17/server/imap_sockfilt.pid 20:55:22.603202 Wrote port 37861 to log/17/server/imap_server.port 20:55:22.603216 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 810 === End of file server.cmd === Start of file valgrind810 ==146770== ==146770== Process terminating with default action of signal 4 (SIGILL) ==146770== Illegal opcode at address 0x4003082 ==146770== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146770== by 0x4003082: main (tool_main.c:243) === End of file valgrind810 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 33679 (log/12/server/imap_server.port) RUN: IMAP server is PID 145980 port 33679 * pid imap => 145980 145980 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/12/valgrind808 ../src/curl -q --output log/12/curl808.out --include --trace-ascii log/12/trace808 --trace-config all --trace-time imap://127.0.0.1:33679 -u user:secret -X 'EXAMINE 808' > log/12/stdout808 2> log/12/stderr808 808: 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 808 === Start of file commands.log ../libtool --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/valgrind808 ../src/curl -q --output log/12/curl808.out --include --trace-ascii log/12/trace808 --trace-config all --trace-time imap://127.0.0.1:33679 -u user:secret -X 'EXAMINE 808' > log/12/stdout808 2> log/12/stderr808 === End of file commands.log === Start of file imap_server.log 20:55:22.378660 IMAP server listens on port IPv4/33679 20:55:22.378726 logged pid 145980 in log/12/server/imap_server.pid 20:55:22.378746 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.599877 Running IPv4 version 20:55:22.599933 Listening on port 33679 20:55:22.599960 Wrote pid 145999 to log/12/server/imap_sockfilt.pid 20:55:22.599980 Wrote port 33679 to log/12/server/imap_server.port 20:55:22.600099 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 808 === End of file server.cmd === Start of file valgrind808 ==146753== ==146753== Process terminating with default action of signal 4 (SIGILL) ==146753== Illegal opcode at address 0x4003082 ==146753== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146753== by 0x4003082: main (tool_main.c:243) === End of file valgrind808 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/imap_server.pid" --logfile "log/19/imap_server.log" --logdir "log/19" --portfile "log/19/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40723 (log/19/server/imap_server.port) RUN: IMAP server is PID 145991 port 40723 * pid imap => 145991 145991 test 0812...[IMAP DELETE mailbox (CUSTOMREQUEST)] CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind811 ../src/curl -q --output log/13/curl811.out --include --trace-ascii log/13/trace811 --trace-config all --trace-time imap://127.0.0.1:43991 -u user:secret -X 'CREATE 811' > log/13/stdout811 2> log/13/stderr811 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind812 ../src/curl -q --output log/19/curl812.out --include --trace-ascii log/19/trace812 --trace-config all --trace-time imap://127.0.0.1:40723 -u user:secret -X 'DELETE 812' > log/19/stdout812 2> log/19/stderr812 812: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 812 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind812 ../src/curl -q --output log/19/curl812.out --include --trace-ascii log/19/trace812 --trace-config all --trace-time imap://127.0.0.1:40723 -u user:secret -X 'DELETE 812' > log/19/stdout812 2> log/19/stderr812 === End of file commands.log === Start of file imap_server.log 20:55:22.383509 IMAP server listens on port IPv4/40723 20:55:22.383566 logged pid 145991 in log/19/server/imap_server.pid 20:55:22.383585 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.604835 Running IPv4 version 20:55:22.604880 Listening on port 40723 20:55:22.604905 Wrote pid 146003 to log/19/server/imap_sockfilt.pid 20:55:22.604924 Wrote port 40723 to log/19/server/imap_server.port 20:55:22.604939 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==146777== ==146777== Process terminating with default action of signal 4 (SIGILL) ==146777== Illegal opcode at address 0x4003082 ==146777== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146777== by 0x4003082: main (tool_main.c:243) === 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 36607 (log/7/server/imap_server.port) RUN: IMAP server is PID 145982 port 36607 * pid imap => 145982 145982 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/7/valgrind809 ../src/curl -q --output log/7/curl809.out --include --trace-ascii log/7/trace809 --trace-config all --trace-time imap://127.0.0.1:36607 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/7/stdout809 2> log/7/stderr809 809: 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 809 === Start of file commands.log ../libtool --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/valgrind809 ../src/curl -q --output log/7/curl809.out --include --trace-ascii log/7/trace809 --trace-config all --trace-time imap://127.0.0.1:36607 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/7/stdout809 2> log/7/stderr809 === End of file commands.log === Start of file imap_server.log 20:55:22.381691 IMAP server listens on port IPv4/36607 20:55:22.381761 logged pid 145982 in log/7/server/imap_server.pid 20:55:22.381783 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.602940 Running IPv4 version 20:55:22.602988 Listening on port 36607 20:55:22.603016 Wrote pid 146001 to log/7/server/imap_sockfilt.pid 20:55:22.603036 Wrote port 36607 to log/7/server/imap_server.port 20:55:22.603134 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 809 === End of file server.cmd === Start of file valgrind809 ==146756== ==146756== Process terminating with default action of signal 4 (SIGILL) ==146756== Illegal opcode at address 0x4003082 ==146756== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146756== by 0x4003082: main (tool_main.c:243) === End of file valgrind809 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/imap_server.pid" --logfile "log/13/imap_server.log" --logdir "log/13" --portfile "log/13/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43991 (log/13/server/imap_server.port) RUN: IMAP server is PID 145990 port 43991 * pid imap => 145990 145990 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/13/valgrind811 ../src/curl -q --output log/13/curl811.out --include --trace-ascii log/13/trace811 --trace-config all --trace-time imap://127.0.0.1:43991 -u user:secret -X 'CREATE 811' > log/13/stdout811 2> log/13/stderr811 811: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 811 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind811 ../src/curl -q --output log/13/curl811.out --include --trace-ascii log/13/trace811 --trace-config all --trace-time imap://127.0.0.1:43991 -u user:secret -X 'CREATE 811' > log/13/stdout811 2> log/13/stderr811 === End of file commands.log === Start of file imap_server.log 20:55:22.383859 IMAP server listens on port IPv4/43991 20:55:22.383908 logged pid 145990 in log/13/server/imap_server.pid 20:55:22.383922 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.605186 Running IPv4 version 20:55:22.605238 Listening on port 43991 20:55:22.605268 Wrote pid 146004 to log/13/server/imap_sockfilt.pid 20:55:22.605295 Wrote port 43991 to log/13/server/imap_server.port 20:55:22.605308 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 811 === End of file server.cmd === Start of file valgrind811 ==146765== ==146765== Process terminating with default action of signal 4 (SIGILL) ==146765== Illegal opcode at address 0x4003082 ==146765== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==146765== by 0x4003082: main (tool_main.c:243) === End of file valgrind811 setenv HOME = /startdir/src/build-curl/tests/log/24 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/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/24/ dir after test 725 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 === End of file commands.log === Start of file http_server.log 20:55:20.826698 ====> Client connect 20:55:20.826718 accept_connection 3 returned 4 20:55:20.826729 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/8/valgrind813 ../src/curl -q --output log/8/curl813.out --include --trace-ascii log/8/trace813 --trace-config all --trace-time imap://127.0.0.1:40727 -u user:secret -X 'RENAME 666 813' > log/8/stdout813 2> log/8/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/2/valgrind814 ../src/curl -q --output log/2/curl814.out --include --trace-ascii log/2/trace814 --trace-config all --trace-time imap://127.0.0.1:37997/814 -u user:secret -X 'CHECK' > log/2/stdout814 2> log/2/stderr814 CMD (33792): ../libtool --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/valgrind816 ../src/curl -q --output log/1/curl816.out --include --trace-ascii log/1/trace816 --trace-config all --trace-time imap://127.0.0.1:43291/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43291/816 -X EXPUNGE -u user:secret > log/1/stdout816 2> log/1/stderr816 nnection 3 returned 0 20:55:20.826739 Read 93 bytes 20:55:20.826745 Process 93 bytes request 20:55:20.826755 Got request: GET /verifiedserver HTTP/1.1 20:55:20.826761 Are-we-friendly question received 20:55:20.826776 Wrote request (93 bytes) input to log/24/server.input 20:55:20.826786 Identifying ourselves as friends 20:55:20.826820 Response sent (57 bytes) and written to log/24/server.response 20:55:20.826827 special request received, no persistency 20:55:20.826832 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45957... * Connected to 127.0.0.1 (127.0.0.1) port 45957 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45957 > User-Agent: curl/8.14.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: 104800 === 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: 18 WE ROOLZ: 104800 === End of file server.response === Start of file valgrind725 ==142806== ==142806== Process terminating with default action of signal 4 (SIGILL) ==142806== Illegal opcode at address 0x4003082 ==142806== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142806== by 0x4003082: main (tool_main.c:243) === End of file valgrind725 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 40727 (log/8/server/imap_server.port) RUN: IMAP server is PID 146064 port 40727 * pid imap => 146064 146064 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/8/valgrind813 ../src/curl -q --output log/8/curl813.out --include --trace-ascii log/8/trace813 --trace-config all --trace-time imap://127.0.0.1:40727 -u user:secret -X 'RENAME 666 813' > log/8/stdout813 2> log/8/stderr813 813: 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 813 === Start of file commands.log ../libtool --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/valgrind813 ../src/curl -q --output log/8/curl813.out --include --trace-ascii log/8/trace813 --trace-config all --trace-time imap://127.0.0.1:40727 -u user:secret -X 'RENAME 666 813' > log/8/stdout813 2> log/8/stderr813 === End of file commands.log === Start of file imap_server.log 20:55:22.579063 IMAP server listens on port IPv4/40727 20:55:22.579179 logged pid 146064 in log/8/server/imap_server.pid 20:55:22.579204 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.800376 Running IPv4 version 20:55:22.800426 Listening on port 40727 20:55:22.800454 Wrote pid 146068 to log/8/server/imap_sockfilt.pid 20:55:22.800474 Wrote port 40727 to log/8/server/imap_server.port 20:55:22.800489 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==147043== ==147043== Process terminating with default action of signal 4 (SIGILL) ==147043== Illegal opcode at address 0x4003082 ==147043== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147043== by 0x4003082: main (tool_main.c:243) === End of file valgrind813 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 37997 (log/2/server/imap_server.port) RUN: IMAP server is PID 146065 port 37997 * pid imap => 146065 146065 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/2/valgrind814 ../src/curl -q --output log/2/curl814.out --include --trace-ascii log/2/trace814 --trace-config all --trace-time imap://127.0.0.1:37997/814 -u user:secret -X 'CHECK' > log/2/stdout814 2> log/2/stderr814 814: 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 814 === Start of file commands.log ../libtool --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/valgrind814 ../src/curl -q --output log/2/curl814.out --include --trace-ascii log/2/trace814 --trace-config all --trace-time imap://127.0.0.1:37997/814 -u user:secret -X 'CHECK' > log/2/stdout814 2> log/2/stderr814 === End of file commands.log === Start of file imap_server.log 20:55:22.584698 IMAP server listens on port IPv4/37997 20:55:22.584753 logged pid 146065 in log/2/server/imap_server.pid 20:55:22.584769 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.805968 Running IPv4 version 20:55:22.806011 Listening on port 37997 20:55:22.806037 Wrote pid 146069 to log/2/server/imap_sockfilt.pid 20:55:22.806056 Wrote port 37997 to log/2/server/imap_server.port 20:55:22.806146 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 814 === End of file server.cmd === Start of file valgrind814 ==147079== ==147079== Process terminating with default action of signal 4 (SIGILL) ==147079== Illegal opcode at address 0x4003082 ==147079== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147079== by 0x4003082: main (tool_main.c:243) === End of file valgrind814 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 43291 (log/1/server/imap_server.port) RUN: IMAP server is PID 146067 port 43291 * pid imap => 146067 146067 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/1/valgrind816 ../src/curl -q --output log/1/curl816.out --include --trace-ascii log/1/trace816 --trace-config all --trace-time imap://127.0.0.1:43291/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43291/816 -X EXPUNGE -u user:secret > log/1/stdout816 2> log/1/stderr816 816: 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 816 === Start of file commands.log ../libtool --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/valgrind816 ../src/curl -q --output log/1/curl816.out --include --trace-ascii log/1/trace816 --trace-config all --trace-time imap://127.0.0.1:43291/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43291/816 -X EXPUNGE -u user:secret > log/1/stdout816 2> log/1/stderr816 === End of file commands.log === Start of file imap_server.log 20:55:22CMD (33792): ../libtool --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/valgrind815 ../src/curl -q --output log/9/curl815.out --include --trace-ascii log/9/trace815 --trace-config all --trace-time imap://127.0.0.1:43445/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43445/815 -X CLOSE -u user:secret > log/9/stdout815 2> log/9/stderr815 CMD (33792): ../libtool --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/valgrind822 ../src/curl -q --output log/10/curl822.out --include --trace-ascii log/10/trace822 --trace-config all --trace-time 'imap://127.0.0.1:36287/822/;MAILINDEX=1' -u testuser:testpass > log/10/stdout822 2> log/10/stderr822 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind826 ../src/curl -q --output log/20/curl826.out --include --trace-ascii log/20/trace826 --trace-config all --trace-time 'imap://127.0.0.1:32917/826/;MAILINDEX=1' -u user:secret > log/20/stdout826 2> log/20/stderr826 .588233 IMAP server listens on port IPv4/43291 20:55:22.588283 logged pid 146067 in log/1/server/imap_server.pid 20:55:22.588297 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.809577 Running IPv4 version 20:55:22.809614 Listening on port 43291 20:55:22.809642 Wrote pid 146071 to log/1/server/imap_sockfilt.pid 20:55:22.809662 Wrote port 43291 to log/1/server/imap_server.port 20:55:22.809675 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 816 === End of file server.cmd === Start of file valgrind816 ==147113== ==147113== Process terminating with default action of signal 4 (SIGILL) ==147113== Illegal opcode at address 0x4003082 ==147113== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147113== by 0x4003082: main (tool_main.c:243) === End of file valgrind816 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 43445 (log/9/server/imap_server.port) RUN: IMAP server is PID 146066 port 43445 * pid imap => 146066 146066 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/9/valgrind815 ../src/curl -q --output log/9/curl815.out --include --trace-ascii log/9/trace815 --trace-config all --trace-time imap://127.0.0.1:43445/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43445/815 -X CLOSE -u user:secret > log/9/stdout815 2> log/9/stderr815 815: 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 815 === Start of file commands.log ../libtool --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/valgrind815 ../src/curl -q --output log/9/curl815.out --include --trace-ascii log/9/trace815 --trace-config all --trace-time imap://127.0.0.1:43445/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43445/815 -X CLOSE -u user:secret > log/9/stdout815 2> log/9/stderr815 === End of file commands.log === Start of file imap_server.log 20:55:22.587427 IMAP server listens on port IPv4/43445 20:55:22.587499 logged pid 146066 in log/9/server/imap_server.pid 20:55:22.587521 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:22.808711 Running IPv4 version 20:55:22.808770 Listening on port 43445 20:55:22.808810 Wrote pid 146070 to log/9/server/imap_sockfilt.pid 20:55:22.808839 Wrote port 43445 to log/9/server/imap_server.port 20:55:22.808857 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==147101== ==147101== Process terminating with default action of signal 4 (SIGILL) ==147101== Illegal opcode at address 0x4003082 ==147101== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147101== by 0x4003082: main (tool_main.c:243) === End of file valgrind815 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/10/valgrind822 ../src/curl -q --output log/10/curl822.out --include --trace-ascii log/10/trace822 --trace-config all --trace-time 'imap://127.0.0.1:36287/822/;MAILINDEX=1' -u testuser:testpass > log/10/stdout822 2> log/10/stderr822 822: 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 822 === Start of file commands.log ../libtool --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/valgrind822 ../src/curl -q --output log/10/curl822.out --include --trace-ascii log/10/trace822 --trace-config all --trace-time 'imap://127.0.0.1:36287/822/;MAILINDEX=1' -u testuser:testpass > log/10/stdout822 2> log/10/stderr822 === End of file commands.log === Start of file imap_server.log 20:55:23.560110 ====> Client connect 20:55:23.560229 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.560441 < "A001 CAPABILITY" 20:55:23.560470 > "A001 BAD Command[CR][LF]" 20:55:23.560618 < "A002 LIST "verifiedserver" *" 20:55:23.560645 LIST_imap got "verifiedserver" * 20:55:23.560669 > "* LIST () "/" "WE ROOLZ: 140651"[CR][LF]" 20:55:23.560685 > "A002 OK LIST Completed[CR][LF]" 20:55:23.560697 return proof we are we 20:55:23.605616 < "A003 LOGOUT" 20:55:23.605668 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.605682 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.605783 MAIN sockfilt said DISC 20:55:23.605798 ====> Client disconnected 20:55:23.605850 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.781510 ====> Client connect 20:55:23.781742 Received DATA (on stdin) 20:55:23.781753 > 178 bytes data, server => client 20:55:23.781762 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.781770 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.781778 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.781784 'rve\r\n' 20:55:23.781842 < 17 bytes data, client => server 20:55:23.781851 'A001 CAPABILITY\r\n' 20:55:23.781977 Received DATA (on stdin) 20:55:23.781987 > 18 bytes data, server => client 20:55:23.781996 'A001 BAD Command\r\n' 20:55:23.782044 < 30 bytes data, client => server 20:55:23.782055 'A002 LIST "verifiedserver" *\r\n' 20:55:23.782205 Received DATA (on stdin) 20:55:23.782217 > 34 bytes data, server => client 20:55:23.782228 '* LIST () "/" "WE ROOLZ: 140651"\r\n' 20:55:23.782250 Received DATA (on stdin) 20:55:23.782262 > 24 bytes data, server => client 20:55:23.782272 'A002 OK LIST Completed\r\n' 20:55:23.826969 < 13 bytes data, client => server 20:55:23.826988 'A003 LOGOUT\r\n' 20:55:23.827186 Received DATA (on stdin) 20:55:23.827194 > 36 bytes data, server => client 20:55:23.827202 '* BYE curl IMAP server signing off\r\n' 20:55:23.827219 Received DATA (on stdin) 20:55:23.827226 > 26 bytes data, server => client 20:55:23.827234 'A003 OK LOGOUT completed\r\n' 20:55:23.827259 ====> Client disconnect 20:55:23.827352 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 ==147317== ==147317== Process terminating with default action of signal 4 (SIGILL) ==147317== Illegal opcode at address 0x4003082 ==147317== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147317== by 0x4003082: main (tool_main.c:243) === End of file valgrind822 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 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind825 ../src/curl -q --output log/18/curl825.out --include --trace-ascii log/18/trace825 --trace-config all --trace-time 'imap://127.0.0.1:42007/825/;MAILINDEX=1' -u user:secret > log/18/stdout825 2> log/18/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/15/valgrind829 ../src/curl -q --output log/15/curl829.out --include --trace-ascii log/15/trace829 --trace-config all --trace-time imap://127.0.0.1:43933/%0d%0a/829 > log/15/stdout829 2> log/15/stderr829 --num-callers=16 --log-file=log/20/valgrind826 ../src/curl -q --output log/20/curl826.out --include --trace-ascii log/20/trace826 --trace-config all --trace-time 'imap://127.0.0.1:32917/826/;MAILINDEX=1' -u user:secret > log/20/stdout826 2> log/20/stderr826 826: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 826 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind826 ../src/curl -q --output log/20/curl826.out --include --trace-ascii log/20/trace826 --trace-config all --trace-time 'imap://127.0.0.1:32917/826/;MAILINDEX=1' -u user:secret > log/20/stdout826 2> log/20/stderr826 === End of file commands.log === Start of file imap_server.log 20:55:23.579605 ====> Client connect 20:55:23.579748 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.580016 < "A001 CAPABILITY" 20:55:23.580055 > "A001 BAD Command[CR][LF]" 20:55:23.580206 < "A002 LIST "verifiedserver" *" 20:55:23.580233 LIST_imap got "verifiedserver" * 20:55:23.580255 > "* LIST () "/" "WE ROOLZ: 145855"[CR][LF]" 20:55:23.580270 > "A002 OK LIST Completed[CR][LF]" 20:55:23.580282 return proof we are we 20:55:23.625578 < "A003 LOGOUT" 20:55:23.625968 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.625994 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.626135 MAIN sockfilt said DISC 20:55:23.626159 ====> Client disconnected 20:55:23.626284 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.801032 ====> Client connect 20:55:23.801268 Received DATA (on stdin) 20:55:23.801282 > 178 bytes data, server => client 20:55:23.801293 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.801303 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.801313 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.801322 'rve\r\n' 20:55:23.801384 < 17 bytes data, client => server 20:55:23.801396 'A001 CAPABILITY\r\n' 20:55:23.801564 Received DATA (on stdin) 20:55:23.801576 > 18 bytes data, server => client 20:55:23.801585 'A001 BAD Command\r\n' 20:55:23.801633 < 30 bytes data, client => server 20:55:23.801644 'A002 LIST "verifiedserver" *\r\n' 20:55:23.801792 Received DATA (on stdin) 20:55:23.801808 > 34 bytes data, server => client 20:55:23.801819 '* LIST () "/" "WE ROOLZ: 145855"\r\n' 20:55:23.801841 Received DATA (on stdin) 20:55:23.801851 > 24 bytes data, server => client 20:55:23.801861 'A002 OK LIST Completed\r\n' 20:55:23.846968 < 13 bytes data, client => server 20:55:23.846992 'A003 LOGOUT\r\n' 20:55:23.847510 Received DATA (on stdin) 20:55:23.847523 > 36 bytes data, server => client 20:55:23.847535 '* BYE curl IMAP server signing off\r\n' 20:55:23.847557 Received DATA (on stdin) 20:55:23.847566 > 26 bytes data, server => client 20:55:23.847576 'A003 OK LOGOUT completed\r\n' 20:55:23.847598 ====> Client disconnect 20:55:23.847675 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 ==147375== ==147375== Process terminating with default action of signal 4 (SIGILL) ==147375== Illegal opcode at address 0x4003082 ==147375== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147375== by 0x4003082: main (tool_main.c:243) === End of file valgrind826 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/18/valgrind825 ../src/curl -q --output log/18/curl825.out --include --trace-ascii log/18/trace825 --trace-config all --trace-time 'imap://127.0.0.1:42007/825/;MAILINDEX=1' -u user:secret > log/18/stdout825 2> log/18/stderr825 825: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 825 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind825 ../src/curl -q --output log/18/curl825.out --include --trace-ascii log/18/trace825 --trace-config all --trace-time 'imap://127.0.0.1:42007/825/;MAILINDEX=1' -u user:secret > log/18/stdout825 2> log/18/stderr825 === End of file commands.log === Start of file imap_server.log 20:55:23.576801 ====> Client connect 20:55:23.576918 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.577136 < "A001 CAPABILITY" 20:55:23.577163 > "A001 BAD Command[CR][LF]" 20:55:23.577341 < "A002 LIST "verifiedserver" *" 20:55:23.577378 LIST_imap got "verifiedserver" * 20:55:23.577406 > "* LIST () "/" "WE ROOLZ: 145801"[CR][LF]" 20:55:23.577420 > "A002 OK LIST Completed[CR][LF]" 20:55:23.577431 return proof we are we 20:55:23.619235 < "A003 LOGOUT" 20:55:23.619278 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.619292 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.619411 MAIN sockfilt said DISC 20:55:23.619434 ====> Client disconnected 20:55:23.619496 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.798228 ====> Client connect 20:55:23.798430 Received DATA (on stdin) 20:55:23.798440 > 178 bytes data, server => client 20:55:23.798449 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.798457 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.798464 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.798470 'rve\r\n' 20:55:23.798530 < 17 bytes data, client => server 20:55:23.798539 'A001 CAPABILITY\r\n' 20:55:23.798668 Received DATA (on stdin) 20:55:23.798676 > 18 bytes data, server => client 20:55:23.798684 'A001 BAD Command\r\n' 20:55:23.798722 < 30 bytes data, client => server 20:55:23.798730 'A002 LIST "verifiedserver" *\r\n' 20:55:23.798941 Received DATA (on stdin) 20:55:23.798956 > 34 bytes data, server => client 20:55:23.798966 '* LIST () "/" "WE ROOLZ: 145801"\r\n' 20:55:23.798989 Received DATA (on stdin) 20:55:23.798997 > 24 bytes data, server => client 20:55:23.799005 'A002 OK LIST Completed\r\n' 20:55:23.840595 < 13 bytes data, client => server 20:55:23.840616 'A003 LOGOUT\r\n' 20:55:23.840795 Received DATA (on stdin) 20:55:23.840804 > 36 bytes data, server => client 20:55:23.840811 '* BYE curl IMAP server signing off\r\n' 20:55:23.840828 Received DATA (on stdin) 20:55:23.840836 > 26 bytes data, server => client 20:55:23.840845 'A003 OK LOGOUT completed\r\n' 20:55:23.840876 ====> Client disconnect 20:55:23.841002 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 ==147340== ==147340== Process terminating with default action of signal 4 (SIGILL) ==147340== Illegal opcode at address 0x4003082 ==147340== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147340== by 0x4003082: main (tool_main.c:243) === End of file valgrind825 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/15/valgrind8CMD (33792): ../libtool --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/valgrind827 ../src/curl -q --output log/11/curl827.out --include --trace-ascii log/11/trace827 --trace-config all --trace-time 'imap://127.0.0.1:45825/827/;MAILINDEX=1' -u testuser:testpass > log/11/stdout827 2> log/11/stderr827 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-config all --trace-time 'imap://127.0.0.1:34797/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 29 ../src/curl -q --output log/15/curl829.out --include --trace-ascii log/15/trace829 --trace-config all --trace-time imap://127.0.0.1:43933/%0d%0a/829 > log/15/stdout829 2> log/15/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/15/ dir after test 829 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind829 ../src/curl -q --output log/15/curl829.out --include --trace-ascii log/15/trace829 --trace-config all --trace-time imap://127.0.0.1:43933/%0d%0a/829 > log/15/stdout829 2> log/15/stderr829 === End of file commands.log === Start of file imap_server.log 20:55:23.590790 ====> Client connect 20:55:23.590938 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.591282 < "A001 CAPABILITY" 20:55:23.591318 > "A001 BAD Command[CR][LF]" 20:55:23.591435 < "A002 LIST "verifiedserver" *" 20:55:23.591458 LIST_imap got "verifiedserver" * 20:55:23.591477 > "* LIST () "/" "WE ROOLZ: 145864"[CR][LF]" 20:55:23.591489 > "A002 OK LIST Completed[CR][LF]" 20:55:23.591498 return proof we are we 20:55:23.635666 < "A003 LOGOUT" 20:55:23.635719 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.635737 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.635888 MAIN sockfilt said DISC 20:55:23.635913 ====> Client disconnected 20:55:23.635973 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.812191 ====> Client connect 20:55:23.812526 Received DATA (on stdin) 20:55:23.812539 > 178 bytes data, server => client 20:55:23.812547 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.812555 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.812562 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.812569 'rve\r\n' 20:55:23.812634 < 17 bytes data, client => server 20:55:23.812650 'A001 CAPABILITY\r\n' 20:55:23.812819 Received DATA (on stdin) 20:55:23.812831 > 18 bytes data, server => client 20:55:23.812839 'A001 BAD Command\r\n' 20:55:23.812883 < 30 bytes data, client => server 20:55:23.812895 'A002 LIST "verifiedserver" *\r\n' 20:55:23.812987 Received DATA (on stdin) 20:55:23.813000 > 34 bytes data, server => client 20:55:23.813017 '* LIST () "/" "WE ROOLZ: 145864"\r\n' 20:55:23.813034 Received DATA (on stdin) 20:55:23.813042 > 24 bytes data, server => client 20:55:23.813049 'A002 OK LIST Completed\r\n' 20:55:23.857013 < 13 bytes data, client => server 20:55:23.857038 'A003 LOGOUT\r\n' 20:55:23.857251 Received DATA (on stdin) 20:55:23.857263 > 36 bytes data, server => client 20:55:23.857274 '* BYE curl IMAP server signing off\r\n' 20:55:23.857295 Received DATA (on stdin) 20:55:23.857305 > 26 bytes data, server => client 20:55:23.857315 'A003 OK LOGOUT completed\r\n' 20:55:23.857351 ====> Client disconnect 20:55:23.857485 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 ==147451== ==147451== Process terminating with default action of signal 4 (SIGILL) ==147451== Illegal opcode at address 0x4003082 ==147451== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147451== by 0x4003082: main (tool_main.c:243) === End of file valgrind829 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/11/valgrind827 ../src/curl -q --output log/11/curl827.out --include --trace-ascii log/11/trace827 --trace-config all --trace-time 'imap://127.0.0.1:45825/827/;MAILINDEX=1' -u testuser:testpass > log/11/stdout827 2> log/11/stderr827 827: 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 827 === Start of file commands.log ../libtool --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/valgrind827 ../src/curl -q --output log/11/curl827.out --include --trace-ascii log/11/trace827 --trace-config all --trace-time 'imap://127.0.0.1:45825/827/;MAILINDEX=1' -u testuser:testpass > log/11/stdout827 2> log/11/stderr827 === End of file commands.log === Start of file imap_server.log 20:55:23.581115 ====> Client connect 20:55:23.581243 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.581441 < "A001 CAPABILITY" 20:55:23.581468 > "A001 BAD Command[CR][LF]" 20:55:23.581583 < "A002 LIST "verifiedserver" *" 20:55:23.581603 LIST_imap got "verifiedserver" * 20:55:23.581619 > "* LIST () "/" "WE ROOLZ: 145874"[CR][LF]" 20:55:23.581630 > "A002 OK LIST Completed[CR][LF]" 20:55:23.581639 return proof we are we 20:55:23.625623 < "A003 LOGOUT" 20:55:23.625668 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.625682 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.626062 MAIN sockfilt said DISC 20:55:23.626105 ====> Client disconnected 20:55:23.626321 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.802480 ====> Client connect 20:55:23.802753 Received DATA (on stdin) 20:55:23.802763 > 178 bytes data, server => client 20:55:23.802771 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.802779 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.802786 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.802792 'rve\r\n' 20:55:23.802837 < 17 bytes data, client => server 20:55:23.802846 'A001 CAPABILITY\r\n' 20:55:23.802972 Received DATA (on stdin) 20:55:23.802980 > 18 bytes data, server => client 20:55:23.802988 'A001 BAD Command\r\n' 20:55:23.803026 < 30 bytes data, client => server 20:55:23.803033 'A002 LIST "verifiedserver" *\r\n' 20:55:23.803140 Received DATA (on stdin) 20:55:23.803148 > 34 bytes data, server => client 20:55:23.803155 '* LIST () "/" "WE ROOLZ: 145874"\r\n' 20:55:23.803169 Received DATA (on stdin) 20:55:23.803176 > 24 bytes data, server => client 20:55:23.803183 'A002 OK LIST Completed\r\n' 20:55:23.846949 < 13 bytes data, client => server 20:55:23.846967 'A003 LOGOUT\r\n' 20:55:23.847224 Received DATA (on stdin) 20:55:23.847234 > 36 bytes data, server => client 20:55:23.847241 '* BYE curl IMAP server signing off\r\n' 20:55:23.847257 Received DATA (on stdin) 20:55:23.847264 > 26 bytes data, server => client 20:55:23.847272 'A003 OK LOGOUT completed\r\n' 20:55:23.847481 ====> Client disconnect 20:55:23.847640 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 ==147376== ==147376== Process terminating with default action of signal 4 (SIGILL) ==147376== Illegal opcode at address 0x4003082 ==147376== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147376== by 0x4003082: main (tool_main.c:243) === End of file valgrind827 test 0824...[IMAP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --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/valgrind828 ../src/curl -q --output log/5/curl828.out --include --trace-ascii log/5/trace828 --trace-config all --trace-time 'imap://127.0.0.1:36315/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout828 2> log/5/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/16/valgrind830 ../src/curl -q --output log/16/curl830.out --include --trace-ascii log/16/trace830 --trace-config all --trace-time 'imap://127.0.0.1:43265/830/;MAILINDEX=1' -u user:secret > log/16/stdout830 2> log/16/stderr830 ol=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-config all --trace-time 'imap://127.0.0.1:34797/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 824: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 824 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-config all --trace-time 'imap://127.0.0.1:34797/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 === End of file commands.log === Start of file imap_server.log 20:55:23.573356 ====> Client connect 20:55:23.573506 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.573900 < "A001 CAPABILITY" 20:55:23.573936 > "A001 BAD Command[CR][LF]" 20:55:23.574054 < "A002 LIST "verifiedserver" *" 20:55:23.574077 LIST_imap got "verifiedserver" * 20:55:23.574097 > "* LIST () "/" "WE ROOLZ: 145725"[CR][LF]" 20:55:23.574109 > "A002 OK LIST Completed[CR][LF]" 20:55:23.574118 return proof we are we 20:55:23.620133 < "A003 LOGOUT" 20:55:23.620177 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.620190 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.620301 MAIN sockfilt said DISC 20:55:23.620318 ====> Client disconnected 20:55:23.620370 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.794772 ====> Client connect 20:55:23.795098 Received DATA (on stdin) 20:55:23.795120 > 178 bytes data, server => client 20:55:23.795132 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.795145 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.795155 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.795164 'rve\r\n' 20:55:23.795262 < 17 bytes data, client => server 20:55:23.795275 'A001 CAPABILITY\r\n' 20:55:23.795431 Received DATA (on stdin) 20:55:23.795444 > 18 bytes data, server => client 20:55:23.795454 'A001 BAD Command\r\n' 20:55:23.795501 < 30 bytes data, client => server 20:55:23.795513 'A002 LIST "verifiedserver" *\r\n' 20:55:23.795621 Received DATA (on stdin) 20:55:23.795630 > 34 bytes data, server => client 20:55:23.795638 '* LIST () "/" "WE ROOLZ: 145725"\r\n' 20:55:23.795653 Received DATA (on stdin) 20:55:23.795663 > 24 bytes data, server => client 20:55:23.795672 'A002 OK LIST Completed\r\n' 20:55:23.841486 < 13 bytes data, client => server 20:55:23.841511 'A003 LOGOUT\r\n' 20:55:23.841694 Received DATA (on stdin) 20:55:23.841703 > 36 bytes data, server => client 20:55:23.841711 '* BYE curl IMAP server signing off\r\n' 20:55:23.841730 Received DATA (on stdin) 20:55:23.841737 > 26 bytes data, server => client 20:55:23.841744 'A003 OK LOGOUT completed\r\n' 20:55:23.841771 ====> Client disconnect 20:55:23.841873 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 ==147355== ==147355== Process terminating with default action of signal 4 (SIGILL) ==147355== Illegal opcode at address 0x4003082 ==147355== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147355== by 0x4003082: main (tool_main.c:243) === End of file valgrind824 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/5/valgrind828 ../src/curl -q --output log/5/curl828.out --include --trace-ascii log/5/trace828 --trace-config all --trace-time 'imap://127.0.0.1:36315/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout828 2> log/5/stderr828 828: 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 828 === Start of file commands.log ../libtool --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/valgrind828 ../src/curl -q --output log/5/curl828.out --include --trace-ascii log/5/trace828 --trace-config all --trace-time 'imap://127.0.0.1:36315/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout828 2> log/5/stderr828 === End of file commands.log === Start of file imap_server.log 20:55:23.580469 ====> Client connect 20:55:23.580599 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.580813 < "A001 CAPABILITY" 20:55:23.580841 > "A001 BAD Command[CR][LF]" 20:55:23.580957 < "A002 LIST "verifiedserver" *" 20:55:23.580978 LIST_imap got "verifiedserver" * 20:55:23.580996 > "* LIST () "/" "WE ROOLZ: 145800"[CR][LF]" 20:55:23.581008 > "A002 OK LIST Completed[CR][LF]" 20:55:23.581017 return proof we are we 20:55:23.625824 < "A003 LOGOUT" 20:55:23.625878 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.625897 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.626081 MAIN sockfilt said DISC 20:55:23.626103 ====> Client disconnected 20:55:23.626366 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.801848 ====> Client connect 20:55:23.802112 Received DATA (on stdin) 20:55:23.802123 > 178 bytes data, server => client 20:55:23.802132 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.802139 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.802146 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.802152 'rve\r\n' 20:55:23.802205 < 17 bytes data, client => server 20:55:23.802214 'A001 CAPABILITY\r\n' 20:55:23.802346 Received DATA (on stdin) 20:55:23.802354 > 18 bytes data, server => client 20:55:23.802361 'A001 BAD Command\r\n' 20:55:23.802399 < 30 bytes data, client => server 20:55:23.802407 'A002 LIST "verifiedserver" *\r\n' 20:55:23.802519 Received DATA (on stdin) 20:55:23.802526 > 34 bytes data, server => client 20:55:23.802533 '* LIST () "/" "WE ROOLZ: 145800"\r\n' 20:55:23.802548 Received DATA (on stdin) 20:55:23.802554 > 24 bytes data, server => client 20:55:23.802561 'A002 OK LIST Completed\r\n' 20:55:23.847198 < 13 bytes data, client => server 20:55:23.847211 'A003 LOGOUT\r\n' 20:55:23.847407 Received DATA (on stdin) 20:55:23.847421 > 36 bytes data, server => client 20:55:23.847432 '* BYE curl IMAP server signing off\r\n' 20:55:23.847458 Received DATA (on stdin) 20:55:23.847469 > 26 bytes data, server => client 20:55:23.847510 'A003 OK LOGOUT completed\r\n' 20:55:23.847544 ====> Client disconnect 20:55:23.847625 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 ==147371== ==147371== Process terminating with default action of signal 4 (SIGILL) ==147371== Illegal opcode at address 0x4003082 ==147371== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147371== by 0x4003082: main (tool_main.c:243) === End of file valgrind828 test 0830...[IMAP CRAMCMD (33792): ../libtool --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/valgrind831 ../src/curl -q --output log/4/curl831.out --include --trace-ascii log/4/trace831 --trace-config all --trace-time 'imap://127.0.0.1:42607/831/;MAILINDEX=1' -u testuser:testpass > log/4/stdout831 2> log/4/stderr831 -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/16/valgrind830 ../src/curl -q --output log/16/curl830.out --include --trace-ascii log/16/trace830 --trace-config all --trace-time 'imap://127.0.0.1:43265/830/;MAILINDEX=1' -u user:secret > log/16/stdout830 2> log/16/stderr830 830: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 830 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind830 ../src/curl -q --output log/16/curl830.out --include --trace-ascii log/16/trace830 --trace-config all --trace-time 'imap://127.0.0.1:43265/830/;MAILINDEX=1' -u user:secret > log/16/stdout830 2> log/16/stderr830 === End of file commands.log === Start of file imap_server.log 20:55:23.652130 ====> Client connect 20:55:23.652297 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.652625 < "A001 CAPABILITY" 20:55:23.652684 > "A001 BAD Command[CR][LF]" 20:55:23.652862 < "A002 LIST "verifiedserver" *" 20:55:23.652893 LIST_imap got "verifiedserver" * 20:55:23.652918 > "* LIST () "/" "WE ROOLZ: 145917"[CR][LF]" 20:55:23.652934 > "A002 OK LIST Completed[CR][LF]" 20:55:23.652945 return proof we are we 20:55:23.699109 < "A003 LOGOUT" 20:55:23.699183 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.699200 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.699589 MAIN sockfilt said DISC 20:55:23.699616 ====> Client disconnected 20:55:23.699688 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.873534 ====> Client connect 20:55:23.873814 Received DATA (on stdin) 20:55:23.873827 > 178 bytes data, server => client 20:55:23.873838 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.873848 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.873857 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.873866 'rve\r\n' 20:55:23.873939 < 17 bytes data, client => server 20:55:23.873950 'A001 CAPABILITY\r\n' 20:55:23.874187 Received DATA (on stdin) 20:55:23.874204 > 18 bytes data, server => client 20:55:23.874212 'A001 BAD Command\r\n' 20:55:23.874273 < 30 bytes data, client => server 20:55:23.874292 'A002 LIST "verifiedserver" *\r\n' 20:55:23.874452 Received DATA (on stdin) 20:55:23.874464 > 34 bytes data, server => client 20:55:23.874474 '* LIST () "/" "WE ROOLZ: 145917"\r\n' 20:55:23.874505 Received DATA (on stdin) 20:55:23.874515 > 24 bytes data, server => client 20:55:23.874524 'A002 OK LIST Completed\r\n' 20:55:23.920393 < 13 bytes data, client => server 20:55:23.920421 'A003 LOGOUT\r\n' 20:55:23.920702 Received DATA (on stdin) 20:55:23.920719 > 36 bytes data, server => client 20:55:23.920729 '* BYE curl IMAP server signing off\r\n' 20:55:23.920753 Received DATA (on stdin) 20:55:23.920763 > 26 bytes data, server => client 20:55:23.920772 'A003 OK LOGOUT completed\r\n' 20:55:23.921046 ====> Client disconnect 20:55:23.921196 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 ==147682== ==147682== Process terminating with default action of signal 4 (SIGILL) ==147682== Illegal opcode at address 0x4003082 ==147682== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147682== by 0x4003082: main (tool_main.c:243) === End of file valgrind830 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/4/valgrind831 ../src/curl -q --output log/4/curl831.out --include --trace-ascii log/4/trace831 --trace-config all --trace-time 'imap://127.0.0.1:42607/831/;MAILINDEX=1' -u testuser:testpass > log/4/stdout831 2> log/4/stderr831 831: 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 831 === Start of file commands.log ../libtool --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/valgrind831 ../src/curl -q --output log/4/curl831.out --include --trace-ascii log/4/trace831 --trace-config all --trace-time 'imap://127.0.0.1:42607/831/;MAILINDEX=1' -u testuser:testpass > log/4/stdout831 2> log/4/stderr831 === End of file commands.log === Start of file imap_server.log 20:55:23.755602 ====> Client connect 20:55:23.755753 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.755974 < "A001 CAPABILITY" 20:55:23.756004 > "A001 BAD Command[CR][LF]" 20:55:23.756137 < "A002 LIST "verifiedserver" *" 20:55:23.756158 LIST_imap got "verifiedserver" * 20:55:23.756175 > "* LIST () "/" "WE ROOLZ: 139439"[CR][LF]" 20:55:23.756188 > "A002 OK LIST Completed[CR][LF]" 20:55:23.756197 return proof we are we 20:55:23.799305 < "A003 LOGOUT" 20:55:23.799365 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.799385 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.799765 MAIN sockfilt said DISC 20:55:23.799819 ====> Client disconnected 20:55:23.799893 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.977017 ====> Client connect 20:55:23.977247 Received DATA (on stdin) 20:55:23.977268 > 178 bytes data, server => client 20:55:23.977280 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:23.977291 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:23.977299 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:23.977306 'rve\r\n' 20:55:23.977359 < 17 bytes data, client => server 20:55:23.977368 'A001 CAPABILITY\r\n' 20:55:23.977510 Received DATA (on stdin) 20:55:23.977521 > 18 bytes data, server => client 20:55:23.977529 'A001 BAD Command\r\n' 20:55:23.977576 < 30 bytes data, client => server 20:55:23.977585 'A002 LIST "verifiedserver" *\r\n' 20:55:23.977700 Received DATA (on stdin) 20:55:23.977708 > 34 bytes data, server => client 20:55:23.977716 '* LIST () "/" "WE ROOLZ: 139439"\r\n' 20:55:23.977730 Received DATA (on stdin) 20:55:23.977738 > 24 bytes data, server => client 20:55:23.977745 'A002 OK LIST Completed\r\n' 20:55:24.020613 < 13 bytes data, client => server 20:55:24.020657 'A003 LOGOUT\r\n' 20:55:24.020896 Received DATA (on stdin) 20:55:24.020909 > 36 bytes data, server => client 20:55:24.020919 '* BYE curl IMAP server signing off\r\n' 20:55:24.020939 Received DATA (on stdin) 20:55:24.020949 > 26 bytes data, server => client 20:55:24.020959 'A003 OK LOGOUT completed\r\n' 20:55:24.021201 ====> Client disconnect 20:55:24.021403 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 valgrind831 ==147771== ==147771== Process terminating with default action of signal 4 (SIGILL) ==147771== Illegal opcode at address 0x4003082 ==147771== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147771== by 0x4003082: main (tool_main.c:243) === End 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/19/valgrind837 ../src/curl -q --output log/19/curl837.out --include --trace-ascii log/19/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:40723/837/;MAILINDEX=1' > log/19/stdout837 2> log/19/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/17/valgrind833 ../src/curl -q --output log/17/curl833.out --include --trace-ascii log/17/trace833 --trace-config all --trace-time 'imap://127.0.0.1:37861/833/;MAILINDEX=1' -u user:secret > log/17/stdout833 2> log/17/stderr833 valgrind831 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/19/valgrind837 ../src/curl -q --output log/19/curl837.out --include --trace-ascii log/19/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:40723/837/;MAILINDEX=1' > log/19/stdout837 2> log/19/stderr837 837: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 837 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind837 ../src/curl -q --output log/19/curl837.out --include --trace-ascii log/19/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:40723/837/;MAILINDEX=1' > log/19/stdout837 2> log/19/stderr837 === End of file commands.log === Start of file imap_server.log 20:55:23.828348 ====> Client connect 20:55:23.828467 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.828683 < "A001 CAPABILITY" 20:55:23.828740 > "A001 BAD Command[CR][LF]" 20:55:23.828892 < "A002 LIST "verifiedserver" *" 20:55:23.828918 LIST_imap got "verifiedserver" * 20:55:23.828942 > "* LIST () "/" "WE ROOLZ: 145991"[CR][LF]" 20:55:23.828956 > "A002 OK LIST Completed[CR][LF]" 20:55:23.828968 return proof we are we 20:55:23.875945 < "A003 LOGOUT" 20:55:23.875991 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.876007 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.876133 MAIN sockfilt said DISC 20:55:23.876154 ====> Client disconnected 20:55:23.876207 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.049775 ====> Client connect 20:55:24.049980 Received DATA (on stdin) 20:55:24.049991 > 178 bytes data, server => client 20:55:24.050000 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.050008 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.050017 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.050024 'rve\r\n' 20:55:24.050077 < 17 bytes data, client => server 20:55:24.050090 'A001 CAPABILITY\r\n' 20:55:24.050250 Received DATA (on stdin) 20:55:24.050261 > 18 bytes data, server => client 20:55:24.050271 'A001 BAD Command\r\n' 20:55:24.050322 < 30 bytes data, client => server 20:55:24.050333 'A002 LIST "verifiedserver" *\r\n' 20:55:24.050474 Received DATA (on stdin) 20:55:24.050485 > 34 bytes data, server => client 20:55:24.050495 '* LIST () "/" "WE ROOLZ: 145991"\r\n' 20:55:24.050517 Received DATA (on stdin) 20:55:24.050528 > 24 bytes data, server => client 20:55:24.050537 'A002 OK LIST Completed\r\n' 20:55:24.097315 < 13 bytes data, client => server 20:55:24.097331 'A003 LOGOUT\r\n' 20:55:24.097513 Received DATA (on stdin) 20:55:24.097524 > 36 bytes data, server => client 20:55:24.097535 '* BYE curl IMAP server signing off\r\n' 20:55:24.097553 Received DATA (on stdin) 20:55:24.097562 > 26 bytes data, server => client 20:55:24.097571 'A003 OK LOGOUT completed\r\n' 20:55:24.097599 ====> Client disconnect 20:55:24.097716 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 ==147880== ==147880== Process terminating with default action of signal 4 (SIGILL) ==147880== Illegal opcode at address 0x4003082 ==147880== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147880== by 0x4003082: main (tool_main.c:243) === End of file valgrind837 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/17/valgrind833 ../src/curl -q --output log/17/curl833.out --include --trace-ascii log/17/trace833 --trace-config all --trace-time 'imap://127.0.0.1:37861/833/;MAILINDEX=1' -u user:secret > log/17/stdout833 2> log/17/stderr833 833: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 833 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind833 ../src/curl -q --output log/17/curl833.out --include --trace-ascii log/17/trace833 --trace-config all --trace-time 'imap://127.0.0.1:37861/833/;MAILINDEX=1' -u user:secret > log/17/stdout833 2> log/17/stderr833 === End of file commands.log === Start of file imap_server.log 20:55:23.828645 ====> Client connect 20:55:23.828807 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.829049 < "A001 CAPABILITY" 20:55:23.829085 > "A001 BAD Command[CR][LF]" 20:55:23.829216 < "A002 LIST "verifiedserver" *" 20:55:23.829237 LIST_imap got "verifiedserver" * 20:55:23.829256 > "* LIST () "/" "WE ROOLZ: 145986"[CR][LF]" 20:55:23.829268 > "A002 OK LIST Completed[CR][LF]" 20:55:23.829277 return proof we are we 20:55:23.875644 < "A003 LOGOUT" 20:55:23.875691 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.875707 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.877092 MAIN sockfilt said DISC 20:55:23.877118 ====> Client disconnected 20:55:23.877172 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.047846 ====> Client connect 20:55:24.050329 Received DATA (on stdin) 20:55:24.050344 > 178 bytes data, server => client 20:55:24.050355 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.050366 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.050375 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.050384 'rve\r\n' 20:55:24.050441 < 17 bytes data, client => server 20:55:24.050454 'A001 CAPABILITY\r\n' 20:55:24.050581 Received DATA (on stdin) 20:55:24.050593 > 18 bytes data, server => client 20:55:24.050602 'A001 BAD Command\r\n' 20:55:24.050655 < 30 bytes data, client => server 20:55:24.050667 'A002 LIST "verifiedserver" *\r\n' 20:55:24.050779 Received DATA (on stdin) 20:55:24.050788 > 34 bytes data, server => client 20:55:24.050796 '* LIST () "/" "WE ROOLZ: 145986"\r\n' 20:55:24.050815 Received DATA (on stdin) 20:55:24.050825 > 24 bytes data, server => client 20:55:24.050834 'A002 OK LIST Completed\r\n' 20:55:24.097008 < 13 bytes data, client => server 20:55:24.097032 'A003 LOGOUT\r\n' 20:55:24.097215 Received DATA (on stdin) 20:55:24.097226 > 36 bytes data, server => client 20:55:24.097236 '* BYE curl IMAP server signing off\r\n' 20:55:24.097257 Received DATA (on stdin) 20:55:24.097266 > 26 bytes data, server => client 20:55:24.097276 'A003 OK LOGOUT completed\r\n' 20:55:24.098547 ====> Client disconnect 20:55:24.098682 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 ==147882== ==147882== Process terminating with default action of signal 4 (SIGILL) ==147882== Illegal opcode at address 0x4003082 ==147882== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147882== 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/12/valgrind834 ../src/curl -q --output log/12/curl834.out --include --trace-ascii log/12/trace834 --trace-config all --trace-time 'imap://127.0.0.1:33679/834/;MAILINDEX=1' -u user:secret > log/12/stdout834 2> log/12/stderr834 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind839 ../src/curl -q --output log/13/curl839.out --include --trace-ascii log/13/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:43991/839/;MAILINDEX=1' > log/13/stdout839 2> log/13/stderr839 y 0x4003082: main (tool_main.c:243) === 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/12/valgrind834 ../src/curl -q --output log/12/curl834.out --include --trace-ascii log/12/trace834 --trace-config all --trace-time 'imap://127.0.0.1:33679/834/;MAILINDEX=1' -u user:secret > log/12/stdout834 2> log/12/stderr834 834: 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 834 === Start of file commands.log ../libtool --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/valgrind834 ../src/curl -q --output log/12/curl834.out --include --trace-ascii log/12/trace834 --trace-config all --trace-time 'imap://127.0.0.1:33679/834/;MAILINDEX=1' -u user:secret > log/12/stdout834 2> log/12/stderr834 === End of file commands.log === Start of file imap_server.log 20:55:23.827727 ====> Client connect 20:55:23.827905 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.828193 < "A001 CAPABILITY" 20:55:23.828242 > "A001 BAD Command[CR][LF]" 20:55:23.828395 < "A002 LIST "verifiedserver" *" 20:55:23.828423 LIST_imap got "verifiedserver" * 20:55:23.828446 > "* LIST () "/" "WE ROOLZ: 145980"[CR][LF]" 20:55:23.828463 > "A002 OK LIST Completed[CR][LF]" 20:55:23.828475 return proof we are we 20:55:23.872496 < "A003 LOGOUT" 20:55:23.872563 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.872579 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.873527 MAIN sockfilt said DISC 20:55:23.873554 ====> Client disconnected 20:55:23.873629 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.049155 ====> Client connect 20:55:24.049424 Received DATA (on stdin) 20:55:24.049440 > 178 bytes data, server => client 20:55:24.049451 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.049461 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.049470 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.049477 'rve\r\n' 20:55:24.049538 < 17 bytes data, client => server 20:55:24.049549 'A001 CAPABILITY\r\n' 20:55:24.049752 Received DATA (on stdin) 20:55:24.049764 > 18 bytes data, server => client 20:55:24.049773 'A001 BAD Command\r\n' 20:55:24.049822 < 30 bytes data, client => server 20:55:24.049834 'A002 LIST "verifiedserver" *\r\n' 20:55:24.049982 Received DATA (on stdin) 20:55:24.049994 > 34 bytes data, server => client 20:55:24.050005 '* LIST () "/" "WE ROOLZ: 145980"\r\n' 20:55:24.050026 Received DATA (on stdin) 20:55:24.050035 > 24 bytes data, server => client 20:55:24.050045 'A002 OK LIST Completed\r\n' 20:55:24.093759 < 13 bytes data, client => server 20:55:24.093807 'A003 LOGOUT\r\n' 20:55:24.094090 Received DATA (on stdin) 20:55:24.094102 > 36 bytes data, server => client 20:55:24.094112 '* BYE curl IMAP server signing off\r\n' 20:55:24.094131 Received DATA (on stdin) 20:55:24.094141 > 26 bytes data, server => client 20:55:24.094151 'A003 OK LOGOUT completed\r\n' 20:55:24.094983 ====> Client disconnect 20:55:24.095138 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 ==147881== ==147881== Process terminating with default action of signal 4 (SIGILL) ==147881== Illegal opcode at address 0x4003082 ==147881== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147881== by 0x4003082: main (tool_main.c:243) === End of file valgrind834 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/13/valgrind839 ../src/curl -q --output log/13/curl839.out --include --trace-ascii log/13/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:43991/839/;MAILINDEX=1' > log/13/stdout839 2> log/13/stderr839 839: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 839 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind839 ../src/curl -q --output log/13/curl839.out --include --trace-ascii log/13/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:43991/839/;MAILINDEX=1' > log/13/stdout839 2> log/13/stderr839 === End of file commands.log === Start of file imap_server.log 20:55:23.851172 ====> Client connect 20:55:23.851334 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.851609 < "A001 CAPABILITY" 20:55:23.851646 > "A001 BAD Command[CR][LF]" 20:55:23.851802 < "A002 LIST "verifiedserver" *" 20:55:23.851828 LIST_imap got "verifiedserver" * 20:55:23.851853 > "* LIST () "/" "WE ROOLZ: 145990"[CR][LF]" 20:55:23.851868 > "A002 OK LIST Completed[CR][LF]" 20:55:23.851879 return proof we are we 20:55:23.892397 < "A003 LOGOUT" 20:55:23.892454 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.892474 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.892691 MAIN sockfilt said DISC 20:55:23.892718 ====> Client disconnected 20:55:23.892783 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.072576 ====> Client connect 20:55:24.072855 Received DATA (on stdin) 20:55:24.072868 > 178 bytes data, server => client 20:55:24.072880 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.072890 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.072900 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.072908 'rve\r\n' 20:55:24.072973 < 17 bytes data, client => server 20:55:24.072984 'A001 CAPABILITY\r\n' 20:55:24.073155 Received DATA (on stdin) 20:55:24.073167 > 18 bytes data, server => client 20:55:24.073177 'A001 BAD Command\r\n' 20:55:24.073230 < 30 bytes data, client => server 20:55:24.073240 'A002 LIST "verifiedserver" *\r\n' 20:55:24.073384 Received DATA (on stdin) 20:55:24.073394 > 34 bytes data, server => client 20:55:24.073404 '* LIST () "/" "WE ROOLZ: 145990"\r\n' 20:55:24.073422 Received DATA (on stdin) 20:55:24.073430 > 24 bytes data, server => client 20:55:24.073440 'A002 OK LIST Completed\r\n' 20:55:24.113764 < 13 bytes data, client => server 20:55:24.113787 'A003 LOGOUT\r\n' 20:55:24.113989 Received DATA (on stdin) 20:55:24.114006 > 36 bytes data, server => client 20:55:24.114018 '* BYE curl IMAP server signing off\r\n' 20:55:24.114043 Received DATA (on stdin) 20:55:24.114054 > 26 bytes data, server => client 20:55:24.114064 'A003 OK LOGOUT completed\r\n' 20:55:24.114144 ====> Client disconnect 20:55:24.114258 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 ==147953== ==147953== Process terminating with default action of signal 4 (SIGILL) ==147953== Illegal opcCMD (33792): ../libtool --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/valgrind838 ../src/curl -q --output log/7/curl838.out --include --trace-ascii log/7/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:36607/838/;MAILINDEX=1' > log/7/stdout838 2> log/7/stderr838 CMD (33792): ../libtool --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/valgrind841 ../src/curl -q --output log/8/curl841.out --include --trace-ascii log/8/trace841 --trace-config all --trace-time imap://127.0.0.1:40727/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/8/stdout841 2> log/8/stderr841 ode at address 0x4003082 ==147953== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147953== by 0x4003082: main (tool_main.c:243) === End of file valgrind839 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/7/valgrind838 ../src/curl -q --output log/7/curl838.out --include --trace-ascii log/7/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:36607/838/;MAILINDEX=1' > log/7/stdout838 2> log/7/stderr838 838: 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 838 === Start of file commands.log ../libtool --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/valgrind838 ../src/curl -q --output log/7/curl838.out --include --trace-ascii log/7/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:36607/838/;MAILINDEX=1' > log/7/stdout838 2> log/7/stderr838 === End of file commands.log === Start of file imap_server.log 20:55:23.830942 ====> Client connect 20:55:23.831078 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:23.831343 < "A001 CAPABILITY" 20:55:23.831374 > "A001 BAD Command[CR][LF]" 20:55:23.831525 < "A002 LIST "verifiedserver" *" 20:55:23.831554 LIST_imap got "verifiedserver" * 20:55:23.831576 > "* LIST () "/" "WE ROOLZ: 145982"[CR][LF]" 20:55:23.831593 > "A002 OK LIST Completed[CR][LF]" 20:55:23.831605 return proof we are we 20:55:23.878936 < "A003 LOGOUT" 20:55:23.878991 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:23.879012 > "A003 OK LOGOUT completed[CR][LF]" 20:55:23.879901 MAIN sockfilt said DISC 20:55:23.879927 ====> Client disconnected 20:55:23.879993 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.052363 ====> Client connect 20:55:24.052594 Received DATA (on stdin) 20:55:24.052607 > 178 bytes data, server => client 20:55:24.052622 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.052632 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.052642 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.052651 'rve\r\n' 20:55:24.052716 < 17 bytes data, client => server 20:55:24.052726 'A001 CAPABILITY\r\n' 20:55:24.052881 Received DATA (on stdin) 20:55:24.052892 > 18 bytes data, server => client 20:55:24.052902 'A001 BAD Command\r\n' 20:55:24.052952 < 30 bytes data, client => server 20:55:24.052964 'A002 LIST "verifiedserver" *\r\n' 20:55:24.053113 Received DATA (on stdin) 20:55:24.053125 > 34 bytes data, server => client 20:55:24.053135 '* LIST () "/" "WE ROOLZ: 145982"\r\n' 20:55:24.053156 Received DATA (on stdin) 20:55:24.053166 > 24 bytes data, server => client 20:55:24.053176 'A002 OK LIST Completed\r\n' 20:55:24.100282 < 13 bytes data, client => server 20:55:24.100313 'A003 LOGOUT\r\n' 20:55:24.100524 Received DATA (on stdin) 20:55:24.100538 > 36 bytes data, server => client 20:55:24.100549 '* BYE curl IMAP server signing off\r\n' 20:55:24.100574 Received DATA (on stdin) 20:55:24.100584 > 26 bytes data, server => client 20:55:24.100595 'A003 OK LOGOUT completed\r\n' 20:55:24.101360 ====> Client disconnect 20:55:24.101501 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 ==147897== ==147897== Process terminating with default action of signal 4 (SIGILL) ==147897== Illegal opcode at address 0x4003082 ==147897== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==147897== by 0x4003082: main (tool_main.c:243) === End of file valgrind838 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/8/valgrind841 ../src/curl -q --output log/8/curl841.out --include --trace-ascii log/8/trace841 --trace-config all --trace-time imap://127.0.0.1:40727/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/8/stdout841 2> log/8/stderr841 841: 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 841 === Start of file commands.log ../libtool --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/valgrind841 ../src/curl -q --output log/8/curl841.out --include --trace-ascii log/8/trace841 --trace-config all --trace-time imap://127.0.0.1:40727/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/8/stdout841 2> log/8/stderr841 === End of file commands.log === Start of file imap_server.log 20:55:24.027573 ====> Client connect 20:55:24.027728 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.028045 < "A001 CAPABILITY" 20:55:24.028093 > "A001 BAD Command[CR][LF]" 20:55:24.028270 < "A002 LIST "verifiedserver" *" 20:55:24.028304 LIST_imap got "verifiedserver" * 20:55:24.028329 > "* LIST () "/" "WE ROOLZ: 146064"[CR][LF]" 20:55:24.028345 > "A002 OK LIST Completed[CR][LF]" 20:55:24.028356 return proof we are we 20:55:24.072339 < "A003 LOGOUT" 20:55:24.072396 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.072415 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.072576 MAIN sockfilt said DISC 20:55:24.072604 ====> Client disconnected 20:55:24.072677 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.248993 ====> Client connect 20:55:24.249245 Received DATA (on stdin) 20:55:24.249259 > 178 bytes data, server => client 20:55:24.249271 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.249281 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.249292 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.249301 'rve\r\n' 20:55:24.249375 < 17 bytes data, client => server 20:55:24.249387 'A001 CAPABILITY\r\n' 20:55:24.249585 Received DATA (on stdin) 20:55:24.249598 > 18 bytes data, server => client 20:55:24.249608 'A001 BAD Command\r\n' 20:55:24.249662 < 30 bytes data, client => server 20:55:24.249673 'A002 LIST "verifiedserver" *\r\n' 20:55:24.249864 Received DATA (on stdin) 20:55:24.249876 > 34 bytes data, server => client 20:55:24.249886 '* LIST () "/" "WE ROOLZ: 146064"\r\n' 20:55:24.249906 Received DATA (on stdin) 20:55:24.249916 > 24 bytes data, server => client 20:55:24.249925 'A002 OK LIST Completed\r\n' 20:55:24.293664 < 13 bytes data, client => server 20:55:24.293690 'A003 LOGOUT\r\n' 20:55:24.293925 Received DATA (on stdin) 20:55:24.293938 > 36 bytes data, server => client 20:55:24.293949 '* BYE curl IMAP server signing off\r\n' 20:55:24.293971 Received DATA (on stdin) 20:55:24.293980 > 26 bytes data, server => client 20:55:24.293990 'A003 OK LOGOUT completed\r\n' 20:55:24.294032 ====> Client disconnect 20:55:24.294185 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 ==148210== ==148210== Process terminating with default action of signal 4 (SIGILL) ==148210== Illegal opcode at address 0x4003082 ==148210== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148210== by 0x4003082: 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/23/valgrind819 ../src/curl -q --output log/23/curl819.out --include --trace-ascii log/23/trace819 --trace-config all --trace-time 'imap://127.0.0.1:41785/819/;MAILINDEX=1' -u user:secret > log/23/stdout819 2> log/23/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/2/valgrind842 ../src/curl -q --output log/2/curl842.out --include --trace-ascii log/2/trace842 --trace-config all --trace-time 'imap://127.0.0.1:37997/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/2/stdout842 2> log/2/stderr842 CMD (33792): ../libtool --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/valgrind843 ../src/curl -q --output log/1/curl843.out --include --trace-ascii log/1/trace843 --trace-config all --trace-time 'imap://127.0.0.1:43291/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout843 2> log/1/stderr843 :243) === End of file valgrind841 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/imap_server.pid" --logfile "log/23/imap_server.log" --logdir "log/23" --portfile "log/23/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41785 (log/23/server/imap_server.port) RUN: IMAP server is PID 146269 port 41785 * pid imap => 146269 146269 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/23/valgrind819 ../src/curl -q --output log/23/curl819.out --include --trace-ascii log/23/trace819 --trace-config all --trace-time 'imap://127.0.0.1:41785/819/;MAILINDEX=1' -u user:secret > log/23/stdout819 2> log/23/stderr819 819: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 819 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind819 ../src/curl -q --output log/23/curl819.out --include --trace-ascii log/23/trace819 --trace-config all --trace-time 'imap://127.0.0.1:41785/819/;MAILINDEX=1' -u user:secret > log/23/stdout819 2> log/23/stderr819 === End of file commands.log === Start of file imap_server.log 20:55:23.082031 IMAP server listens on port IPv4/41785 20:55:23.082090 logged pid 146269 in log/23/server/imap_server.pid 20:55:23.082110 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:23.303357 Running IPv4 version 20:55:23.303400 Listening on port 41785 20:55:23.303425 Wrote pid 146285 to log/23/server/imap_sockfilt.pid 20:55:23.303443 Wrote port 41785 to log/23/server/imap_server.port 20:55:23.303458 Received PING (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 ==148188== ==148188== Process terminating with default action of signal 4 (SIGILL) ==148188== Illegal opcode at address 0x4003082 ==148188== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148188== by 0x4003082: main (tool_main.c:243) === End of file valgrind819 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/2/valgrind842 ../src/curl -q --output log/2/curl842.out --include --trace-ascii log/2/trace842 --trace-config all --trace-time 'imap://127.0.0.1:37997/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/2/stdout842 2> log/2/stderr842 842: 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 842 === Start of file commands.log ../libtool --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/valgrind842 ../src/curl -q --output log/2/curl842.out --include --trace-ascii log/2/trace842 --trace-config all --trace-time 'imap://127.0.0.1:37997/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/2/stdout842 2> log/2/stderr842 === End of file commands.log === Start of file imap_server.log 20:55:24.043081 ====> Client connect 20:55:24.043209 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.043431 < "A001 CAPABILITY" 20:55:24.043459 > "A001 BAD Command[CR][LF]" 20:55:24.043582 < "A002 LIST "verifiedserver" *" 20:55:24.043604 LIST_imap got "verifiedserver" * 20:55:24.043622 > "* LIST () "/" "WE ROOLZ: 146065"[CR][LF]" 20:55:24.043634 > "A002 OK LIST Completed[CR][LF]" 20:55:24.043644 return proof we are we 20:55:24.088965 < "A003 LOGOUT" 20:55:24.089012 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.089025 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.089210 MAIN sockfilt said DISC 20:55:24.089265 ====> Client disconnected 20:55:24.089327 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.264499 ====> Client connect 20:55:24.264722 Received DATA (on stdin) 20:55:24.264733 > 178 bytes data, server => client 20:55:24.264741 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.264749 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.264757 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.264763 'rve\r\n' 20:55:24.264818 < 17 bytes data, client => server 20:55:24.264826 'A001 CAPABILITY\r\n' 20:55:24.264963 Received DATA (on stdin) 20:55:24.264972 > 18 bytes data, server => client 20:55:24.264980 'A001 BAD Command\r\n' 20:55:24.265019 < 30 bytes data, client => server 20:55:24.265032 'A002 LIST "verifiedserver" *\r\n' 20:55:24.265146 Received DATA (on stdin) 20:55:24.265154 > 34 bytes data, server => client 20:55:24.265162 '* LIST () "/" "WE ROOLZ: 146065"\r\n' 20:55:24.265176 Received DATA (on stdin) 20:55:24.265183 > 24 bytes data, server => client 20:55:24.265191 'A002 OK LIST Completed\r\n' 20:55:24.310316 < 13 bytes data, client => server 20:55:24.310340 'A003 LOGOUT\r\n' 20:55:24.310530 Received DATA (on stdin) 20:55:24.310540 > 36 bytes data, server => client 20:55:24.310549 '* BYE curl IMAP server signing off\r\n' 20:55:24.310568 Received DATA (on stdin) 20:55:24.310575 > 26 bytes data, server => client 20:55:24.310582 'A003 OK LOGOUT completed\r\n' 20:55:24.310639 ====> Client disconnect 20:55:24.310839 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzc5OTcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==148250== ==148250== Process terminating with default action of signal 4 (SIGILL) ==148250== Illegal opcode at address 0x4003082 ==148250== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148250== by 0x4003082: main (tool_main.c:243) === End of file valgrind842 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/1/valgrind843 ../src/curl -q --output log/1/curl843.out --include --trace-ascii log/1/trace843 --trace-config all --trace-time 'imap://127.0.0.1:43291/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout843 2> log/1/stderr843 843: 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 843 === Start of file commands.log ../libtool --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/valgrind843 ../src/curl -q --output log/1/curl843.out --include --trace-ascii log/1/trace843 --trace-config all --trace-time 'imap://127.0.0.1:43291/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout843 2> log/1/stderr843 === End of file commands.log === Start of file imap_server.log 20:55:24.044245 ====> Client connect 20:55:24.044420 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [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/9/valgrind844 ../src/curl -q --output log/9/curl844.out --include --trace-ascii log/9/trace844 --trace-config all --trace-time 'imap://127.0.0.1:43445/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout844 2> log/9/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/10/valgrind845 ../src/curl -q --output log/10/curl845.out --include --trace-ascii log/10/trace845 --trace-config all --trace-time 'imap://127.0.0.1:36287/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout845 2> log/10/stderr845 _\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.044645 < "A001 CAPABILITY" 20:55:24.044673 > "A001 BAD Command[CR][LF]" 20:55:24.044791 < "A002 LIST "verifiedserver" *" 20:55:24.044812 LIST_imap got "verifiedserver" * 20:55:24.044829 > "* LIST () "/" "WE ROOLZ: 146067"[CR][LF]" 20:55:24.044840 > "A002 OK LIST Completed[CR][LF]" 20:55:24.044850 return proof we are we 20:55:24.088970 < "A003 LOGOUT" 20:55:24.089012 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.089027 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.089440 MAIN sockfilt said DISC 20:55:24.089475 ====> Client disconnected 20:55:24.089521 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.265674 ====> Client connect 20:55:24.265939 Received DATA (on stdin) 20:55:24.265951 > 178 bytes data, server => client 20:55:24.265960 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.265968 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.265975 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.265982 'rve\r\n' 20:55:24.266036 < 17 bytes data, client => server 20:55:24.266045 'A001 CAPABILITY\r\n' 20:55:24.266177 Received DATA (on stdin) 20:55:24.266186 > 18 bytes data, server => client 20:55:24.266194 'A001 BAD Command\r\n' 20:55:24.266233 < 30 bytes data, client => server 20:55:24.266241 'A002 LIST "verifiedserver" *\r\n' 20:55:24.266351 Received DATA (on stdin) 20:55:24.266360 > 34 bytes data, server => client 20:55:24.266367 '* LIST () "/" "WE ROOLZ: 146067"\r\n' 20:55:24.266382 Received DATA (on stdin) 20:55:24.266389 > 24 bytes data, server => client 20:55:24.266396 'A002 OK LIST Completed\r\n' 20:55:24.310317 < 13 bytes data, client => server 20:55:24.310340 'A003 LOGOUT\r\n' 20:55:24.310531 Received DATA (on stdin) 20:55:24.310541 > 36 bytes data, server => client 20:55:24.310549 '* BYE curl IMAP server signing off\r\n' 20:55:24.310566 Received DATA (on stdin) 20:55:24.310573 > 26 bytes data, server => client 20:55:24.310581 'A003 OK LOGOUT completed\r\n' 20:55:24.310890 ====> Client disconnect 20:55:24.311028 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 ==148251== ==148251== Process terminating with default action of signal 4 (SIGILL) ==148251== Illegal opcode at address 0x4003082 ==148251== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148251== by 0x4003082: main (tool_main.c:243) === End of file valgrind843 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/9/valgrind844 ../src/curl -q --output log/9/curl844.out --include --trace-ascii log/9/trace844 --trace-config all --trace-time 'imap://127.0.0.1:43445/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout844 2> log/9/stderr844 844: 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 844 === Start of file commands.log ../libtool --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/valgrind844 ../src/curl -q --output log/9/curl844.out --include --trace-ascii log/9/trace844 --trace-config all --trace-time 'imap://127.0.0.1:43445/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout844 2> log/9/stderr844 === End of file commands.log === Start of file imap_server.log 20:55:24.072879 ====> Client connect 20:55:24.073018 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.073316 < "A001 CAPABILITY" 20:55:24.073393 > "A001 BAD Command[CR][LF]" 20:55:24.073536 < "A002 LIST "verifiedserver" *" 20:55:24.073561 LIST_imap got "verifiedserver" * 20:55:24.073581 > "* LIST () "/" "WE ROOLZ: 146066"[CR][LF]" 20:55:24.073597 > "A002 OK LIST Completed[CR][LF]" 20:55:24.073607 return proof we are we 20:55:24.115832 < "A003 LOGOUT" 20:55:24.115890 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.115906 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.116184 MAIN sockfilt said DISC 20:55:24.116217 ====> Client disconnected 20:55:24.116313 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.294299 ====> Client connect 20:55:24.294497 Received DATA (on stdin) 20:55:24.294515 > 178 bytes data, server => client 20:55:24.294526 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.294539 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.294549 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.294557 'rve\r\n' 20:55:24.294627 < 17 bytes data, client => server 20:55:24.294640 'A001 CAPABILITY\r\n' 20:55:24.294900 Received DATA (on stdin) 20:55:24.294911 > 18 bytes data, server => client 20:55:24.294919 'A001 BAD Command\r\n' 20:55:24.294972 < 30 bytes data, client => server 20:55:24.294989 'A002 LIST "verifiedserver" *\r\n' 20:55:24.295113 Received DATA (on stdin) 20:55:24.295125 > 34 bytes data, server => client 20:55:24.295134 '* LIST () "/" "WE ROOLZ: 146066"\r\n' 20:55:24.295152 Received DATA (on stdin) 20:55:24.295161 > 24 bytes data, server => client 20:55:24.295170 'A002 OK LIST Completed\r\n' 20:55:24.337150 < 13 bytes data, client => server 20:55:24.337177 'A003 LOGOUT\r\n' 20:55:24.337413 Received DATA (on stdin) 20:55:24.337424 > 36 bytes data, server => client 20:55:24.337433 '* BYE curl IMAP server signing off\r\n' 20:55:24.337453 Received DATA (on stdin) 20:55:24.337462 > 26 bytes data, server => client 20:55:24.337471 'A003 OK LOGOUT completed\r\n' 20:55:24.337506 ====> Client disconnect 20:55:24.337733 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDM0NDUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==148365== ==148365== Process terminating with default action of signal 4 (SIGILL) ==148365== Illegal opcode at address 0x4003082 ==148365== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148365== by 0x4003082: main (tool_main.c:243) === End of file valgrind844 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/10/valgrind845 ../src/curl -q --output log/10/curl845.out --include --trace-ascii log/10/trace845 --trace-config all --trace-time 'imap://127.0.0.1:36287/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout845 2> log/10/stderr845 845: 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 845 === Start of file commands.log ../libtool --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/valgrind845 ../src/curl -q --output log/10/curl845.out --include --trace-ascii log/10/trace845 --trace-config all --trace-time 'imap://127.0.0.1:36287/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout845 2> log/10/stderr845 === End of file commands.log === Start of file imap_server.log 20:55:24.142618 ====> Client connect 20:55:24.142754 > " CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind846 ../src/curl -q --output log/20/curl846.out --include --trace-ascii log/20/trace846 --trace-config all --trace-time 'imap://127.0.0.1:32917/846/;MAILINDEX=1' -u notused:still-provided > log/20/stdout846 2> log/20/stderr846 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind847 ../src/curl -q --output log/18/curl847.out --include --trace-ascii log/18/trace847 --trace-config all --trace-time 'imap://127.0.0.1:42007/847/;UID=1' -u '"user:sec"ret{' > log/18/stdout847 2> log/18/stderr847 _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.143271 < "A001 CAPABILITY" 20:55:24.143324 > "A001 BAD Command[CR][LF]" 20:55:24.143563 < "A002 LIST "verifiedserver" *" 20:55:24.143589 LIST_imap got "verifiedserver" * 20:55:24.143612 > "* LIST () "/" "WE ROOLZ: 140651"[CR][LF]" 20:55:24.143627 > "A002 OK LIST Completed[CR][LF]" 20:55:24.143638 return proof we are we 20:55:24.185807 < "A003 LOGOUT" 20:55:24.185859 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.185876 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.186060 MAIN sockfilt said DISC 20:55:24.186085 ====> Client disconnected 20:55:24.186140 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.364018 ====> Client connect 20:55:24.364391 Received DATA (on stdin) 20:55:24.364410 > 178 bytes data, server => client 20:55:24.364422 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.364432 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.364442 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.364451 'rve\r\n' 20:55:24.364521 < 17 bytes data, client => server 20:55:24.364533 'A001 CAPABILITY\r\n' 20:55:24.364842 Received DATA (on stdin) 20:55:24.364859 > 18 bytes data, server => client 20:55:24.364870 'A001 BAD Command\r\n' 20:55:24.364970 < 30 bytes data, client => server 20:55:24.364989 'A002 LIST "verifiedserver" *\r\n' 20:55:24.365145 Received DATA (on stdin) 20:55:24.365155 > 34 bytes data, server => client 20:55:24.365165 '* LIST () "/" "WE ROOLZ: 140651"\r\n' 20:55:24.365185 Received DATA (on stdin) 20:55:24.365193 > 24 bytes data, server => client 20:55:24.365203 'A002 OK LIST Completed\r\n' 20:55:24.407156 < 13 bytes data, client => server 20:55:24.407181 'A003 LOGOUT\r\n' 20:55:24.407383 Received DATA (on stdin) 20:55:24.407394 > 36 bytes data, server => client 20:55:24.407404 '* BYE curl IMAP server signing off\r\n' 20:55:24.407423 Received DATA (on stdin) 20:55:24.407432 > 26 bytes data, server => client 20:55:24.407441 'A003 OK LOGOUT completed\r\n' 20:55:24.407507 ====> Client disconnect 20:55:24.407586 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 ==148518== ==148518== Process terminating with default action of signal 4 (SIGILL) ==148518== Illegal opcode at address 0x4003082 ==148518== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148518== by 0x4003082: main (tool_main.c:243) === End of file valgrind845 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/20/valgrind846 ../src/curl -q --output log/20/curl846.out --include --trace-ascii log/20/trace846 --trace-config all --trace-time 'imap://127.0.0.1:32917/846/;MAILINDEX=1' -u notused:still-provided > log/20/stdout846 2> log/20/stderr846 846: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 846 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind846 ../src/curl -q --output log/20/curl846.out --include --trace-ascii log/20/trace846 --trace-config all --trace-time 'imap://127.0.0.1:32917/846/;MAILINDEX=1' -u notused:still-provided > log/20/stdout846 2> log/20/stderr846 === End of file commands.log === Start of file imap_server.log 20:55:24.145625 ====> Client connect 20:55:24.145740 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.145935 < "A001 CAPABILITY" 20:55:24.145962 > "A001 BAD Command[CR][LF]" 20:55:24.146114 < "A002 LIST "verifiedserver" *" 20:55:24.146141 LIST_imap got "verifiedserver" * 20:55:24.146167 > "* LIST () "/" "WE ROOLZ: 145855"[CR][LF]" 20:55:24.146183 > "A002 OK LIST Completed[CR][LF]" 20:55:24.146196 return proof we are we 20:55:24.189351 < "A003 LOGOUT" 20:55:24.189389 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.189402 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.189549 MAIN sockfilt said DISC 20:55:24.189598 ====> Client disconnected 20:55:24.189661 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.367050 ====> Client connect 20:55:24.367252 Received DATA (on stdin) 20:55:24.367263 > 178 bytes data, server => client 20:55:24.367272 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.367280 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.367287 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.367294 'rve\r\n' 20:55:24.367344 < 17 bytes data, client => server 20:55:24.367358 'A001 CAPABILITY\r\n' 20:55:24.367469 Received DATA (on stdin) 20:55:24.367481 > 18 bytes data, server => client 20:55:24.367491 'A001 BAD Command\r\n' 20:55:24.367547 < 30 bytes data, client => server 20:55:24.367561 'A002 LIST "verifiedserver" *\r\n' 20:55:24.367703 Received DATA (on stdin) 20:55:24.367715 > 34 bytes data, server => client 20:55:24.367726 '* LIST () "/" "WE ROOLZ: 145855"\r\n' 20:55:24.367748 Received DATA (on stdin) 20:55:24.367757 > 24 bytes data, server => client 20:55:24.367767 'A002 OK LIST Completed\r\n' 20:55:24.410732 < 13 bytes data, client => server 20:55:24.410750 'A003 LOGOUT\r\n' 20:55:24.410906 Received DATA (on stdin) 20:55:24.410914 > 36 bytes data, server => client 20:55:24.410922 '* BYE curl IMAP server signing off\r\n' 20:55:24.410938 Received DATA (on stdin) 20:55:24.410945 > 26 bytes data, server => client 20:55:24.410952 'A003 OK LOGOUT completed\r\n' 20:55:24.410991 ====> Client disconnect 20:55:24.411169 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 ==148529== ==148529== Process terminating with default action of signal 4 (SIGILL) ==148529== Illegal opcode at address 0x4003082 ==148529== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148529== by 0x4003082: main (tool_main.c:243) === End of file valgrind846 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/18/valgrind847 ../src/curl -q --output log/18/curl847.out --include --trace-ascii log/18/trace847 --trace-config all --trace-time 'imap://127.0.0.1:42007/847/;UID=1' -u '"user:sec"ret{' > log/18/stdout847 2> log/18/stderr847 847: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind849 ../src/curl -q --output log/22/curl849.out --include --trace-ascii log/22/trace849 --trace-config all --trace-time 'imap://127.0.0.1:34797/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/22/stdout849 2> log/22/stderr849 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind848 ../src/curl -q --output log/15/curl848.out --include --trace-ascii log/15/trace848 --trace-config all --trace-time 'imap://127.0.0.1:43933/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/15/stdout848 2> log/15/stderr848 grind847 ../src/curl -q --output log/18/curl847.out --include --trace-ascii log/18/trace847 --trace-config all --trace-time 'imap://127.0.0.1:42007/847/;UID=1' -u '"user:sec"ret{' > log/18/stdout847 2> log/18/stderr847 === End of file commands.log === Start of file imap_server.log 20:55:24.148946 ====> Client connect 20:55:24.149097 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.149390 < "A001 CAPABILITY" 20:55:24.149421 > "A001 BAD Command[CR][LF]" 20:55:24.149990 < "A002 LIST "verifiedserver" *" 20:55:24.150072 LIST_imap got "verifiedserver" * 20:55:24.150102 > "* LIST () "/" "WE ROOLZ: 145801"[CR][LF]" 20:55:24.150118 > "A002 OK LIST Completed[CR][LF]" 20:55:24.150130 return proof we are we 20:55:24.192344 < "A003 LOGOUT" 20:55:24.192388 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.192404 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.192911 MAIN sockfilt said DISC 20:55:24.192934 ====> Client disconnected 20:55:24.192989 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.370353 ====> Client connect 20:55:24.370614 Received DATA (on stdin) 20:55:24.370627 > 178 bytes data, server => client 20:55:24.370639 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.370648 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.370656 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.370662 'rve\r\n' 20:55:24.370731 < 17 bytes data, client => server 20:55:24.370848 'A001 CAPABILITY\r\n' 20:55:24.370961 Received DATA (on stdin) 20:55:24.370975 > 18 bytes data, server => client 20:55:24.370985 'A001 BAD Command\r\n' 20:55:24.371064 < 30 bytes data, client => server 20:55:24.371076 'A002 LIST "verifiedserver" *\r\n' 20:55:24.371601 Received DATA (on stdin) 20:55:24.371618 > 34 bytes data, server => client 20:55:24.371628 '* LIST () "/" "WE ROOLZ: 145801"\r\n' 20:55:24.371653 Received DATA (on stdin) 20:55:24.371661 > 24 bytes data, server => client 20:55:24.371668 'A002 OK LIST Completed\r\n' 20:55:24.413711 < 13 bytes data, client => server 20:55:24.413732 'A003 LOGOUT\r\n' 20:55:24.413912 Received DATA (on stdin) 20:55:24.413922 > 36 bytes data, server => client 20:55:24.413933 '* BYE curl IMAP server signing off\r\n' 20:55:24.413957 Received DATA (on stdin) 20:55:24.413966 > 26 bytes data, server => client 20:55:24.413975 'A003 OK LOGOUT completed\r\n' 20:55:24.414375 ====> Client disconnect 20:55:24.414494 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 ==148542== ==148542== Process terminating with default action of signal 4 (SIGILL) ==148542== Illegal opcode at address 0x4003082 ==148542== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148542== by 0x4003082: main (tool_main.c:243) === End of file valgrind847 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/22/valgrind849 ../src/curl -q --output log/22/curl849.out --include --trace-ascii log/22/trace849 --trace-config all --trace-time 'imap://127.0.0.1:34797/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/22/stdout849 2> log/22/stderr849 849: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 849 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind849 ../src/curl -q --output log/22/curl849.out --include --trace-ascii log/22/trace849 --trace-config all --trace-time 'imap://127.0.0.1:34797/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/22/stdout849 2> log/22/stderr849 === End of file commands.log === Start of file imap_server.log 20:55:24.160141 ====> Client connect 20:55:24.160270 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.160498 < "A001 CAPABILITY" 20:55:24.160530 > "A001 BAD Command[CR][LF]" 20:55:24.160724 < "A002 LIST "verifiedserver" *" 20:55:24.160745 LIST_imap got "verifiedserver" * 20:55:24.160762 > "* LIST () "/" "WE ROOLZ: 145725"[CR][LF]" 20:55:24.160774 > "A002 OK LIST Completed[CR][LF]" 20:55:24.160783 return proof we are we 20:55:24.205792 < "A003 LOGOUT" 20:55:24.205837 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.205850 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.206175 MAIN sockfilt said DISC 20:55:24.206209 ====> Client disconnected 20:55:24.206284 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.381550 ====> Client connect 20:55:24.381785 Received DATA (on stdin) 20:55:24.381797 > 178 bytes data, server => client 20:55:24.381807 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.381816 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.381825 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.381833 'rve\r\n' 20:55:24.381898 < 17 bytes data, client => server 20:55:24.381917 'A001 CAPABILITY\r\n' 20:55:24.382106 Received DATA (on stdin) 20:55:24.382121 > 18 bytes data, server => client 20:55:24.382129 'A001 BAD Command\r\n' 20:55:24.382175 < 30 bytes data, client => server 20:55:24.382186 'A002 LIST "verifiedserver" *\r\n' 20:55:24.382285 Received DATA (on stdin) 20:55:24.382293 > 34 bytes data, server => client 20:55:24.382301 '* LIST () "/" "WE ROOLZ: 145725"\r\n' 20:55:24.382317 Received DATA (on stdin) 20:55:24.382324 > 24 bytes data, server => client 20:55:24.382331 'A002 OK LIST Completed\r\n' 20:55:24.427171 < 13 bytes data, client => server 20:55:24.427195 'A003 LOGOUT\r\n' 20:55:24.427358 Received DATA (on stdin) 20:55:24.427371 > 36 bytes data, server => client 20:55:24.427381 '* BYE curl IMAP server signing off\r\n' 20:55:24.427401 Received DATA (on stdin) 20:55:24.427410 > 26 bytes data, server => client 20:55:24.427419 'A003 OK LOGOUT completed\r\n' 20:55:24.427631 ====> Client disconnect 20:55:24.427791 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 ==148601== ==148601== Process terminating with default action of signal 4 (SIGILL) ==148601== Illegal opcode at address 0x4003082 ==148601== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148601== by 0x4003082: main (tool_main.c:243) === End of file valgrind849 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/15/valgrind848 ../src/curl -q --output log/15/curl848.out --include --trace-ascii log/15/trace848 --trace-config all --trace-time 'imap://127.0.0.1:43933/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/15/stdout848 2> log/15/stderr848 848: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind852 ../src/curl -q --output log/16/curl852.out --include --trace-ascii log/16/trace852 --trace-config all --trace-time pop3://127.0.0.1:39545/852 -l -u user:secret > log/16/stdout852 2> log/16/stderr852 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind870 ../src/curl -q --output log/16/curl870.out --include --trace-ascii log/16/trace870 --trace-config all --trace-time pop3://127.0.0.1:39545/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout870 2> log/16/stderr870 valgrind848 ../src/curl -q --output log/15/curl848.out --include --trace-ascii log/15/trace848 --trace-config all --trace-time 'imap://127.0.0.1:43933/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/15/stdout848 2> log/15/stderr848 === End of file commands.log === Start of file imap_server.log 20:55:24.151524 ====> Client connect 20:55:24.151703 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:24.152005 < "A001 CAPABILITY" 20:55:24.152056 > "A001 BAD Command[CR][LF]" 20:55:24.152201 < "A002 LIST "verifiedserver" *" 20:55:24.152228 LIST_imap got "verifiedserver" * 20:55:24.152252 > "* LIST () "/" "WE ROOLZ: 145864"[CR][LF]" 20:55:24.152268 > "A002 OK LIST Completed[CR][LF]" 20:55:24.152281 return proof we are we 20:55:24.198942 < "A003 LOGOUT" 20:55:24.198990 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:24.199008 > "A003 OK LOGOUT completed[CR][LF]" 20:55:24.199172 MAIN sockfilt said DISC 20:55:24.199201 ====> Client disconnected 20:55:24.199254 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.372898 ====> Client connect 20:55:24.373216 Received DATA (on stdin) 20:55:24.373269 > 178 bytes data, server => client 20:55:24.373282 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.373293 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.373303 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:24.373312 'rve\r\n' 20:55:24.373388 < 17 bytes data, client => server 20:55:24.373401 'A001 CAPABILITY\r\n' 20:55:24.373567 Received DATA (on stdin) 20:55:24.373580 > 18 bytes data, server => client 20:55:24.373590 'A001 BAD Command\r\n' 20:55:24.373643 < 30 bytes data, client => server 20:55:24.373656 'A002 LIST "verifiedserver" *\r\n' 20:55:24.373788 Received DATA (on stdin) 20:55:24.373799 > 34 bytes data, server => client 20:55:24.373810 '* LIST () "/" "WE ROOLZ: 145864"\r\n' 20:55:24.373831 Received DATA (on stdin) 20:55:24.373840 > 24 bytes data, server => client 20:55:24.373850 'A002 OK LIST Completed\r\n' 20:55:24.420300 < 13 bytes data, client => server 20:55:24.420322 'A003 LOGOUT\r\n' 20:55:24.420517 Received DATA (on stdin) 20:55:24.420529 > 36 bytes data, server => client 20:55:24.420539 '* BYE curl IMAP server signing off\r\n' 20:55:24.420561 Received DATA (on stdin) 20:55:24.420571 > 26 bytes data, server => client 20:55:24.420581 'A003 OK LOGOUT completed\r\n' 20:55:24.420634 ====> Client disconnect 20:55:24.420760 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 ==148580== ==148580== Process terminating with default action of signal 4 (SIGILL) ==148580== Illegal opcode at address 0x4003082 ==148580== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148580== by 0x4003082: main (tool_main.c:243) === End of file valgrind848 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/16/valgrind852 ../src/curl -q --output log/16/curl852.out --include --trace-ascii log/16/trace852 --trace-config all --trace-time pop3://127.0.0.1:39545/852 -l -u user:secret > log/16/stdout852 2> log/16/stderr852 852: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 852 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind852 ../src/curl -q --output log/16/curl852.out --include --trace-ascii log/16/trace852 --trace-config all --trace-time pop3://127.0.0.1:39545/852 -l -u user:secret > log/16/stdout852 2> log/16/stderr852 === End of file commands.log === Start of file pop3_server.log 20:55:24.210816 ====> Client connect 20:55:24.210985 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:24.211248 < "CAPA" 20:55:24.211285 > "-ERR Unrecognized command[CR][LF]" 20:55:24.211499 < "RETR verifiedserver" 20:55:24.211539 return proof we are we 20:55:24.211568 > "+OK Mail transfer starts[CR][LF]" 20:55:24.211587 > "WE ROOLZ: 131363[CR][LF]" 20:55:24.211603 > ".[CR][LF]" 20:55:24.252480 < "QUIT" 20:55:24.252548 > "+OK curl POP3 server signing off[CR][LF]" 20:55:24.252721 MAIN sockfilt said DISC 20:55:24.252748 ====> Client disconnected 20:55:24.252819 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.432235 ====> Client connect 20:55:24.432505 Received DATA (on stdin) 20:55:24.432532 > 178 bytes data, server => client 20:55:24.432544 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.432554 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.432564 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:24.432572 've \r\n' 20:55:24.432649 < 6 bytes data, client => server 20:55:24.432661 'CAPA\r\n' 20:55:24.432795 Received DATA (on stdin) 20:55:24.432810 > 27 bytes data, server => client 20:55:24.432821 '-ERR Unrecognized command\r\n' 20:55:24.432890 < 21 bytes data, client => server 20:55:24.432901 'RETR verifiedserver\r\n' 20:55:24.433116 Received DATA (on stdin) 20:55:24.433132 > 26 bytes data, server => client 20:55:24.433144 '+OK Mail transfer starts\r\n' 20:55:24.433168 Received DATA (on stdin) 20:55:24.433179 > 18 bytes data, server => client 20:55:24.433190 'WE ROOLZ: 131363\r\n' 20:55:24.433203 Received DATA (on stdin) 20:55:24.433213 > 3 bytes data, server => client 20:55:24.433222 '.\r\n' 20:55:24.473761 < 6 bytes data, client => server 20:55:24.473794 'QUIT\r\n' 20:55:24.474063 Received DATA (on stdin) 20:55:24.474081 > 34 bytes data, server => client 20:55:24.474093 '+OK curl POP3 server signing off\r\n' 20:55:24.474169 ====> Client disconnect 20:55:24.474326 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 ==148782== ==148782== Process terminating with default action of signal 4 (SIGILL) ==148782== Illegal opcode at address 0x4003082 ==148782== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148782== by 0x4003082: main (tool_main.c:243) === End of file valgrind852 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/16/valgrind870 ../src/curl -q --output log/16/curl870.out --include --trace-ascii log/16/trace870 --trace-config all --trace-time pop3://127.0.0.1:39545/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout870 2> log/16/stderr870 870: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 870 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind870 ../src/curl -q --output log/16/curl870.out --include --trace-ascii log/16/trace870 --trace-config all --trace-time pop3://127.0.0.1:39545/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout870 2> log/16/stderr870 === End of file commands.CMD (33792): ../libtool --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/valgrind741 ../src/curl -q --output log/3/curl741.out --include --trace-ascii log/3/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout741 2> log/3/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/24/valgrind840 ../src/curl -q --output log/24/curl840.out --include --trace-ascii log/24/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:41661/840/;MAILINDEX=1' > log/24/stdout840 2> log/24/stderr840 log === Start of file pop3_server.log 20:55:24.648809 ====> Client connect 20:55:24.648899 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:24.649093 < "CAPA" 20:55:24.649117 > "-ERR Unrecognized command[CR][LF]" 20:55:24.649218 < "RETR verifiedserver" 20:55:24.649233 return proof we are we 20:55:24.649246 > "+OK Mail transfer starts[CR][LF]" 20:55:24.649256 > "WE ROOLZ: 131363[CR][LF]" 20:55:24.649265 > ".[CR][LF]" 20:55:24.695523 < "QUIT" 20:55:24.695548 > "+OK curl POP3 server signing off[CR][LF]" 20:55:24.696041 MAIN sockfilt said DISC 20:55:24.696057 ====> Client disconnected 20:55:24.696101 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.870247 ====> Client connect 20:55:24.870408 Received DATA (on stdin) 20:55:24.870417 > 178 bytes data, server => client 20:55:24.870425 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:24.870432 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:24.870438 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:24.870444 've \r\n' 20:55:24.870507 < 6 bytes data, client => server 20:55:24.870515 'CAPA\r\n' 20:55:24.870618 Received DATA (on stdin) 20:55:24.870626 > 27 bytes data, server => client 20:55:24.870632 '-ERR Unrecognized command\r\n' 20:55:24.870666 < 21 bytes data, client => server 20:55:24.870673 'RETR verifiedserver\r\n' 20:55:24.870765 Received DATA (on stdin) 20:55:24.870772 > 26 bytes data, server => client 20:55:24.870778 '+OK Mail transfer starts\r\n' 20:55:24.870791 Received DATA (on stdin) 20:55:24.870797 > 18 bytes data, server => client 20:55:24.870803 'WE ROOLZ: 131363\r\n' 20:55:24.870810 Received DATA (on stdin) 20:55:24.870816 > 3 bytes data, server => client 20:55:24.870822 '.\r\n' 20:55:24.916945 < 6 bytes data, client => server 20:55:24.916958 'QUIT\r\n' 20:55:24.917050 Received DATA (on stdin) 20:55:24.917057 > 34 bytes data, server => client 20:55:24.917064 '+OK curl POP3 server signing off\r\n' 20:55:24.917511 ====> Client disconnect 20:55:24.917603 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 ==148886== ==148886== Process terminating with default action of signal 4 (SIGILL) ==148886== Illegal opcode at address 0x4003082 ==148886== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148886== by 0x4003082: main (tool_main.c:243) === End of file valgrind870 setenv HOME = /startdir/src/build-curl/tests/log/3 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/3/valgrind741 ../src/curl -q --output log/3/curl741.out --include --trace-ascii log/3/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout741 2> log/3/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/3/ dir after test 741 === Start of file commands.log ../libtool --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/valgrind741 ../src/curl -q --output log/3/curl741.out --include --trace-ascii log/3/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout741 2> log/3/stderr741 === End of file commands.log === Start of file http_server.log 20:55:21.904644 ====> Client connect 20:55:21.904675 accept_connection 3 returned 4 20:55:21.904691 accept_connection 3 returned 0 20:55:21.904704 Read 93 bytes 20:55:21.904713 Process 93 bytes request 20:55:21.904725 Got request: GET /verifiedserver HTTP/1.1 20:55:21.904734 Are-we-friendly question received 20:55:21.904757 Wrote request (93 bytes) input to log/3/server.input 20:55:21.904771 Identifying ourselves as friends 20:55:21.904826 Response sent (57 bytes) and written to log/3/server.response 20:55:21.904837 special request received, no persistency 20:55:21.904847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33171... * Connected to 127.0.0.1 (127.0.0.1) port 33171 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33171 > User-Agent: curl/8.14.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: 104814 === 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: 18 WE ROOLZ: 104814 === End of file server.response === Start of file valgrind741 ==144802== ==144802== Process terminating with default action of signal 4 (SIGILL) ==144802== Illegal opcode at address 0x4003082 ==144802== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144802== by 0x4003082: main (tool_main.c:243) === End of file valgrind741 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/imap_server.pid" --logfile "log/24/imap_server.log" --logdir "log/24" --portfile "log/24/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41661 (log/24/server/imap_server.port) RUN: IMAP server is PID 148120 port 41661 * pid imap => 148120 148120 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/24/valgrind840 ../src/curl -q --output log/24/curl840.out --include --trace-ascii log/24/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:41661/840/;MAILINDEX=1' > log/24/stdout840 2> log/24/stderr840 840: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 840 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind840 ../src/curl -q --output log/24/curl840.out --include --trace-ascii log/24/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:41661/840/;MAILINDEX=1' > log/24/stdout840 2> log/24/stderr840 === End of file commands.log === Start of file imap_server.log 20:55:24.038932 IMAP server listens on port IPv4/41661 20:55:24.038987 logged pid 148120 in log/24/server/imap_server.pid 20:55:24.039004 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:24.260260 Running IPv4 version 20:55:24.260310 Listening on port 41661 20:55:24.260336 Wrote pid 148164 to log/24/server/imap_sockfilt.pid 20:55:24.260356 Wrote port 41661 to log/24/server/imap_server.port 20:55:24.260370 Received PING (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 ==148937== ==148937== Process terminating with default action of signal 4 (SIGILL) ==148937== Illegal opcode at address 0x4003082 ==148937== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==148937== by 0x4003082: main (tool_main.c:243) =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind871 ../src/curl -q --output log/16/curl871.out --include --trace-ascii log/16/trace871 --trace-config all --trace-time pop3://127.0.0.1:39545/871 -u user:secret --sasl-ir > log/16/stdout871 2> log/16/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/11/valgrind850 ../src/curl -q --output log/11/curl850.out --include --trace-ascii log/11/trace850 --trace-config all --trace-time pop3://127.0.0.1:36729/850 -u user:secret > log/11/stdout850 2> log/11/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/5/valgrind851 ../src/curl -q --output log/5/curl851.out --include --trace-ascii log/5/trace851 --trace-config all --trace-time pop3://127.0.0.1:45647/851 -l -u user:secret > log/5/stdout851 2> log/5/stderr851 == End of file valgrind840 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/16/valgrind871 ../src/curl -q --output log/16/curl871.out --include --trace-ascii log/16/trace871 --trace-config all --trace-time pop3://127.0.0.1:39545/871 -u user:secret --sasl-ir > log/16/stdout871 2> log/16/stderr871 871: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 871 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind871 ../src/curl -q --output log/16/curl871.out --include --trace-ascii log/16/trace871 --trace-config all --trace-time pop3://127.0.0.1:39545/871 -u user:secret --sasl-ir > log/16/stdout871 2> log/16/stderr871 === End of file commands.log === Start of file pop3_server.log 20:55:25.081328 ====> Client connect 20:55:25.081466 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.081766 < "CAPA" 20:55:25.081802 > "-ERR Unrecognized command[CR][LF]" 20:55:25.081965 < "RETR verifiedserver" 20:55:25.081989 return proof we are we 20:55:25.082011 > "+OK Mail transfer starts[CR][LF]" 20:55:25.082063 > "WE ROOLZ: 131363[CR][LF]" 20:55:25.082085 > ".[CR][LF]" 20:55:25.125793 < "QUIT" 20:55:25.125828 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.125953 MAIN sockfilt said DISC 20:55:25.125971 ====> Client disconnected 20:55:25.126025 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:25.302762 ====> Client connect 20:55:25.302991 Received DATA (on stdin) 20:55:25.303015 > 178 bytes data, server => client 20:55:25.303030 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:25.303045 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:25.303056 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:25.303066 've \r\n' 20:55:25.303131 < 6 bytes data, client => server 20:55:25.303142 'CAPA\r\n' 20:55:25.303313 Received DATA (on stdin) 20:55:25.303327 > 27 bytes data, server => client 20:55:25.303338 '-ERR Unrecognized command\r\n' 20:55:25.303391 < 21 bytes data, client => server 20:55:25.303403 'RETR verifiedserver\r\n' 20:55:25.303557 Received DATA (on stdin) 20:55:25.303580 > 26 bytes data, server => client 20:55:25.303593 '+OK Mail transfer starts\r\n' 20:55:25.303624 Received DATA (on stdin) 20:55:25.303635 > 18 bytes data, server => client 20:55:25.303646 'WE ROOLZ: 131363\r\n' 20:55:25.303659 Received DATA (on stdin) 20:55:25.303670 > 3 bytes data, server => client 20:55:25.303681 '.\r\n' 20:55:25.347169 < 6 bytes data, client => server 20:55:25.347193 'QUIT\r\n' 20:55:25.347338 Received DATA (on stdin) 20:55:25.347349 > 34 bytes data, server => client 20:55:25.347360 '+OK curl POP3 server signing off\r\n' 20:55:25.347423 ====> Client disconnect 20:55:25.347531 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 ==149001== ==149001== Process terminating with default action of signal 4 (SIGILL) ==149001== Illegal opcode at address 0x4003082 ==149001== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149001== by 0x4003082: main (tool_main.c:243) === End of file valgrind871 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 36729 (log/11/server/pop3_server.port) RUN: POP3 server is PID 148443 port 36729 * pid pop3 => 148443 148443 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/11/valgrind850 ../src/curl -q --output log/11/curl850.out --include --trace-ascii log/11/trace850 --trace-config all --trace-time pop3://127.0.0.1:36729/850 -u user:secret > log/11/stdout850 2> log/11/stderr850 850: 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 850 === Start of file commands.log ../libtool --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/valgrind850 ../src/curl -q --output log/11/curl850.out --include --trace-ascii log/11/trace850 --trace-config all --trace-time pop3://127.0.0.1:36729/850 -u user:secret > log/11/stdout850 2> log/11/stderr850 === End of file commands.log === Start of file pop3_server.log 20:55:24.170131 POP3 server listens on port IPv4/36729 20:55:24.170187 logged pid 148443 in log/11/server/pop3_server.pid 20:55:24.170204 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.391452 Running IPv4 version 20:55:24.391500 Listening on port 36729 20:55:24.391528 Wrote pid 148511 to log/11/server/pop3_sockfilt.pid 20:55:24.391549 Wrote port 36729 to log/11/server/pop3_server.port 20:55:24.391563 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 850 === End of file server.cmd === Start of file valgrind850 ==149026== ==149026== Process terminating with default action of signal 4 (SIGILL) ==149026== Illegal opcode at address 0x4003082 ==149026== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149026== by 0x4003082: main (tool_main.c:243) === End of file valgrind850 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 45647 (log/5/server/pop3_server.port) RUN: POP3 server is PID 148448 port 45647 * pid pop3 => 148448 148448 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/5/valgrind851 ../src/curl -q --output log/5/curl851.out --include --trace-ascii log/5/trace851 --trace-config all --trace-time pop3://127.0.0.1:45647/851 -l -u user:secret > log/5/stdout851 2> log/5/stderr851 851: 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 851 === Start of file commands.log ../libtool --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/valgrind851 ../src/curl -q --output log/5/curl851.out --include --trace-ascii log/5/trace851 --trace-config all --trace-time pop3://127.0.0.1:45647/851 -l -u user:secret > log/5/stdout851 2> log/5/stderr851 === End of file commands.log === Start of file pop3_server.log 20:55:24.170806 POP3 server listens on port IPv4/45647 20:55:24.170882 logged pid 148448 in log/5/server/pop3_server.pid 20:55:24.170904 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.392078 Running IPv4 version 20:55:24.392133 Listening on port 45647 20:55:24.392170 Wrote pid 148512 to log/5/server/popCMD (33792): ../libtool --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/valgrind853 ../src/curl -q --output log/4/curl853.out --include --trace-ascii log/4/trace853 --trace-config all --trace-time pop3://127.0.0.1:46715/ -u user:secret > log/4/stdout853 2> log/4/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/19/valgrind854 ../src/curl -q --output log/19/curl854.out --include --trace-ascii log/19/trace854 --trace-config all --trace-time pop3://127.0.0.1:45935/ -u user:secret > log/19/stdout854 2> log/19/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/17/valgrind855 ../src/curl -q --output log/17/curl855.out --include --trace-ascii log/17/trace855 --trace-config all --trace-time pop3://127.0.0.1:44473/855 -u user:secret > log/17/stdout855 2> log/17/stderr855 CMD (33792): ../libtool --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/valgrind858 ../src/curl -q --output log/7/curl858.out --include --trace-ascii log/7/trace858 --trace-config all --trace-time pop3://127.0.0.1:36917/858 -u user:secret -X DELE -I > log/7/stdout858 2> log/7/stderr858 3_sockfilt.pid 20:55:24.392197 Wrote port 45647 to log/5/server/pop3_server.port 20:55:24.392217 Received PING (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 ==149025== ==149025== Process terminating with default action of signal 4 (SIGILL) ==149025== Illegal opcode at address 0x4003082 ==149025== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149025== by 0x4003082: main (tool_main.c:243) === End of file valgrind851 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 46715 (log/4/server/pop3_server.port) RUN: POP3 server is PID 148830 port 46715 * pid pop3 => 148830 148830 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/4/valgrind853 ../src/curl -q --output log/4/curl853.out --include --trace-ascii log/4/trace853 --trace-config all --trace-time pop3://127.0.0.1:46715/ -u user:secret > log/4/stdout853 2> log/4/stderr853 853: 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 853 === Start of file commands.log ../libtool --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/valgrind853 ../src/curl -q --output log/4/curl853.out --include --trace-ascii log/4/trace853 --trace-config all --trace-time pop3://127.0.0.1:46715/ -u user:secret > log/4/stdout853 2> log/4/stderr853 === End of file commands.log === Start of file pop3_server.log 20:55:24.334263 POP3 server listens on port IPv4/46715 20:55:24.334340 logged pid 148830 in log/4/server/pop3_server.pid 20:55:24.334361 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.555557 Running IPv4 version 20:55:24.555607 Listening on port 46715 20:55:24.555645 Wrote pid 148835 to log/4/server/pop3_sockfilt.pid 20:55:24.555673 Wrote port 46715 to log/4/server/pop3_server.port 20:55:24.555691 Received PING (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 ==149151== ==149151== Process terminating with default action of signal 4 (SIGILL) ==149151== Illegal opcode at address 0x4003082 ==149151== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149151== by 0x4003082: main (tool_main.c:243) === End of file valgrind853 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/pop3_server.pid" --logfile "log/19/pop3_server.log" --logdir "log/19" --portfile "log/19/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45935 (log/19/server/pop3_server.port) RUN: POP3 server is PID 148837 port 45935 * pid pop3 => 148837 148837 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/19/valgrind854 ../src/curl -q --output log/19/curl854.out --include --trace-ascii log/19/trace854 --trace-config all --trace-time pop3://127.0.0.1:45935/ -u user:secret > log/19/stdout854 2> log/19/stderr854 854: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 854 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind854 ../src/curl -q --output log/19/curl854.out --include --trace-ascii log/19/trace854 --trace-config all --trace-time pop3://127.0.0.1:45935/ -u user:secret > log/19/stdout854 2> log/19/stderr854 === End of file commands.log === Start of file pop3_server.log 20:55:24.379973 POP3 server listens on port IPv4/45935 20:55:24.380030 logged pid 148837 in log/19/server/pop3_server.pid 20:55:24.380046 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.601305 Running IPv4 version 20:55:24.601355 Listening on port 45935 20:55:24.601383 Wrote pid 148844 to log/19/server/pop3_sockfilt.pid 20:55:24.601402 Wrote port 45935 to log/19/server/pop3_server.port 20:55:24.601416 Received PING (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 ==149204== ==149204== Process terminating with default action of signal 4 (SIGILL) ==149204== Illegal opcode at address 0x4003082 ==149204== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149204== by 0x4003082: main (tool_main.c:243) === End of file valgrind854 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/pop3_server.pid" --logfile "log/17/pop3_server.log" --logdir "log/17" --portfile "log/17/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44473 (log/17/server/pop3_server.port) RUN: POP3 server is PID 148839 port 44473 * pid pop3 => 148839 148839 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/17/valgrind855 ../src/curl -q --output log/17/curl855.out --include --trace-ascii log/17/trace855 --trace-config all --trace-time pop3://127.0.0.1:44473/855 -u user:secret > log/17/stdout855 2> log/17/stderr855 855: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 855 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind855 ../src/curl -q --output log/17/curl855.out --include --trace-ascii log/17/trace855 --trace-config all --trace-time pop3://127.0.0.1:44473/855 -u user:secret > log/17/stdout855 2> log/17/stderr855 === End of file commands.log === Start of file pop3_server.log 20:55:24.389273 POP3 server listens on port IPv4/44473 20:55:24.389328 logged pid 148839 in log/17/server/pop3_server.pid 20:55:24.389344 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.610584 Running IPv4 version 20:55:24.610642 Listening on port 44473 20:55:24.610674 Wrote pid 148845 to log/17/server/pop3_sockfilt.pid 20:55:24.610701 Wrote port 44473 to log/17/server/pop3_server.port 20:55:24.610715 Received PING (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 ==149222== ==149222== Process terminating with default action of signal 4 (SIGILL) ==149222== Illegal opcode at address 0x4003082 ==149222== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149222== by 0x4003082: main (tool_main.c:243) === End of file valgrind855 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"CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind857 ../src/curl -q --output log/13/curl857.out --include --trace-ascii log/13/trace857 --trace-config all --trace-time pop3://127.0.0.1:40815/857 -u user:secret > log/13/stdout857 2> log/13/stderr857 CMD (33792): ../libtool --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/valgrind856 ../src/curl -q --output log/12/curl856.out --include --trace-ascii log/12/trace856 --trace-config all --trace-time pop3://127.0.0.1:44109/856 -u user:wrong > log/12/stdout856 2> log/12/stderr856 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind874 ../src/curl -q --output log/16/curl874.out --include --trace-ascii log/16/trace874 --trace-config all --trace-time pop3://127.0.0.1:39545/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/16/stdout874 2> log/16/stderr874 CMD (33792): ../libtool --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/valgrind875 ../src/curl -q --output log/11/curl875.out --include --trace-ascii log/11/trace875 --trace-config all --trace-time pop3://127.0.0.1:36729/%0d%0a/875 > log/11/stdout875 2> log/11/stderr875 --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 36917 (log/7/server/pop3_server.port) RUN: POP3 server is PID 148843 port 36917 * pid pop3 => 148843 148843 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/7/valgrind858 ../src/curl -q --output log/7/curl858.out --include --trace-ascii log/7/trace858 --trace-config all --trace-time pop3://127.0.0.1:36917/858 -u user:secret -X DELE -I > log/7/stdout858 2> log/7/stderr858 858: 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 858 === Start of file commands.log ../libtool --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/valgrind858 ../src/curl -q --output log/7/curl858.out --include --trace-ascii log/7/trace858 --trace-config all --trace-time pop3://127.0.0.1:36917/858 -u user:secret -X DELE -I > log/7/stdout858 2> log/7/stderr858 === End of file commands.log === Start of file pop3_server.log 20:55:24.399739 POP3 server listens on port IPv4/36917 20:55:24.399792 logged pid 148843 in log/7/server/pop3_server.pid 20:55:24.399807 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.621080 Running IPv4 version 20:55:24.621123 Listening on port 36917 20:55:24.621150 Wrote pid 148848 to log/7/server/pop3_sockfilt.pid 20:55:24.621170 Wrote port 36917 to log/7/server/pop3_server.port 20:55:24.621183 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 858 === End of file server.cmd === Start of file valgrind858 ==149268== ==149268== Process terminating with default action of signal 4 (SIGILL) ==149268== Illegal opcode at address 0x4003082 ==149268== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149268== by 0x4003082: main (tool_main.c:243) === End of file valgrind858 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/pop3_server.pid" --logfile "log/13/pop3_server.log" --logdir "log/13" --portfile "log/13/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40815 (log/13/server/pop3_server.port) RUN: POP3 server is PID 148842 port 40815 * pid pop3 => 148842 148842 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/13/valgrind857 ../src/curl -q --output log/13/curl857.out --include --trace-ascii log/13/trace857 --trace-config all --trace-time pop3://127.0.0.1:40815/857 -u user:secret > log/13/stdout857 2> log/13/stderr857 857: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 857 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind857 ../src/curl -q --output log/13/curl857.out --include --trace-ascii log/13/trace857 --trace-config all --trace-time pop3://127.0.0.1:40815/857 -u user:secret > log/13/stdout857 2> log/13/stderr857 === End of file commands.log === Start of file pop3_server.log 20:55:24.401520 POP3 server listens on port IPv4/40815 20:55:24.401573 logged pid 148842 in log/13/server/pop3_server.pid 20:55:24.401588 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.622848 Running IPv4 version 20:55:24.622901 Listening on port 40815 20:55:24.622931 Wrote pid 148849 to log/13/server/pop3_sockfilt.pid 20:55:24.622951 Wrote port 40815 to log/13/server/pop3_server.port 20:55:24.622965 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 857 === End of file server.cmd === Start of file valgrind857 ==149271== ==149271== Process terminating with default action of signal 4 (SIGILL) ==149271== Illegal opcode at address 0x4003082 ==149271== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149271== by 0x4003082: main (tool_main.c:243) === End of file valgrind857 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 44109 (log/12/server/pop3_server.port) RUN: POP3 server is PID 148841 port 44109 * pid pop3 => 148841 148841 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/12/valgrind856 ../src/curl -q --output log/12/curl856.out --include --trace-ascii log/12/trace856 --trace-config all --trace-time pop3://127.0.0.1:44109/856 -u user:wrong > log/12/stdout856 2> log/12/stderr856 856: 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 856 === Start of file commands.log ../libtool --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/valgrind856 ../src/curl -q --output log/12/curl856.out --include --trace-ascii log/12/trace856 --trace-config all --trace-time pop3://127.0.0.1:44109/856 -u user:wrong > log/12/stdout856 2> log/12/stderr856 === End of file commands.log === Start of file pop3_server.log 20:55:24.399350 POP3 server listens on port IPv4/44109 20:55:24.399402 logged pid 148841 in log/12/server/pop3_server.pid 20:55:24.399417 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.620668 Running IPv4 version 20:55:24.620729 Listening on port 44109 20:55:24.620758 Wrote pid 148847 to log/12/server/pop3_sockfilt.pid 20:55:24.620779 Wrote port 44109 to log/12/server/pop3_server.port 20:55:24.620792 Received PING (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 ==149253== ==149253== Process terminating with default action of signal 4 (SIGILL) ==149253== Illegal opcode at address 0x4003082 ==149253== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149253== by 0x4003082: main (tool_main.c:243) === End of file valgrind856 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/16/valgrind874 ../src/curl -q --output log/16/curl874.out --include --trace-ascii log/16/trace874 --trace-config all --trace-time pop3://127.0.0.1:39545/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/16/stdout874 2> log/16/stderr874 874: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 874 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind874 ../src/curl -q --output log/16/curl874.out --include --trace-ascii log/16/trace874 --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/22/valgrind867 ../src/curl -q --output log/22/curl867.out --include --trace-ascii log/22/trace867 --trace-config all --trace-time pop3://127.0.0.1:41185/867 -u user:secret > log/22/stdout867 2> log/22/stderr867 ce-config all --trace-time pop3://127.0.0.1:39545/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/16/stdout874 2> log/16/stderr874 === End of file commands.log === Start of file pop3_server.log 20:55:25.548628 ====> Client connect 20:55:25.548761 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.549062 < "CAPA" 20:55:25.549117 > "-ERR Unrecognized command[CR][LF]" 20:55:25.549294 < "RETR verifiedserver" 20:55:25.549313 return proof we are we 20:55:25.549329 > "+OK Mail transfer starts[CR][LF]" 20:55:25.549342 > "WE ROOLZ: 131363[CR][LF]" 20:55:25.549354 > ".[CR][LF]" 20:55:25.592321 < "QUIT" 20:55:25.592372 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.592598 MAIN sockfilt said DISC 20:55:25.592627 ====> Client disconnected 20:55:25.592689 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:25.770050 ====> Client connect 20:55:25.770267 Received DATA (on stdin) 20:55:25.770287 > 178 bytes data, server => client 20:55:25.770297 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:25.770304 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:25.770312 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:25.770318 've \r\n' 20:55:25.770373 < 6 bytes data, client => server 20:55:25.770382 'CAPA\r\n' 20:55:25.770635 Received DATA (on stdin) 20:55:25.770650 > 27 bytes data, server => client 20:55:25.770659 '-ERR Unrecognized command\r\n' 20:55:25.770733 < 21 bytes data, client => server 20:55:25.770744 'RETR verifiedserver\r\n' 20:55:25.770856 Received DATA (on stdin) 20:55:25.770865 > 26 bytes data, server => client 20:55:25.770873 '+OK Mail transfer starts\r\n' 20:55:25.770888 Received DATA (on stdin) 20:55:25.770895 > 18 bytes data, server => client 20:55:25.770902 'WE ROOLZ: 131363\r\n' 20:55:25.770915 Received DATA (on stdin) 20:55:25.770922 > 3 bytes data, server => client 20:55:25.770929 '.\r\n' 20:55:25.813675 < 6 bytes data, client => server 20:55:25.813700 'QUIT\r\n' 20:55:25.813886 Received DATA (on stdin) 20:55:25.813914 > 34 bytes data, server => client 20:55:25.813924 '+OK curl POP3 server signing off\r\n' 20:55:25.814055 ====> Client disconnect 20:55:25.814201 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 ==149772== ==149772== Process terminating with default action of signal 4 (SIGILL) ==149772== Illegal opcode at address 0x4003082 ==149772== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149772== by 0x4003082: main (tool_main.c:243) === End of file valgrind874 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/11/valgrind875 ../src/curl -q --output log/11/curl875.out --include --trace-ascii log/11/trace875 --trace-config all --trace-time pop3://127.0.0.1:36729/%0d%0a/875 > log/11/stdout875 2> log/11/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/11/ dir after test 875 === Start of file commands.log ../libtool --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/valgrind875 ../src/curl -q --output log/11/curl875.out --include --trace-ascii log/11/trace875 --trace-config all --trace-time pop3://127.0.0.1:36729/%0d%0a/875 > log/11/stdout875 2> log/11/stderr875 === End of file commands.log === Start of file pop3_server.log 20:55:25.552088 ====> Client connect 20:55:25.552218 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.552436 < "CAPA" 20:55:25.552465 > "-ERR Unrecognized command[CR][LF]" 20:55:25.552581 < "RETR verifiedserver" 20:55:25.552600 return proof we are we 20:55:25.552614 > "+OK Mail transfer starts[CR][LF]" 20:55:25.552626 > "WE ROOLZ: 148443[CR][LF]" 20:55:25.552637 > ".[CR][LF]" 20:55:25.599065 < "QUIT" 20:55:25.599116 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.599343 MAIN sockfilt said DISC 20:55:25.599380 ====> Client disconnected 20:55:25.599441 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:25.773503 ====> Client connect 20:55:25.773732 Received DATA (on stdin) 20:55:25.773743 > 178 bytes data, server => client 20:55:25.773752 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:25.773760 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:25.773767 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:25.773774 've \r\n' 20:55:25.773827 < 6 bytes data, client => server 20:55:25.773836 'CAPA\r\n' 20:55:25.773969 Received DATA (on stdin) 20:55:25.773978 > 27 bytes data, server => client 20:55:25.773985 '-ERR Unrecognized command\r\n' 20:55:25.774023 < 21 bytes data, client => server 20:55:25.774031 'RETR verifiedserver\r\n' 20:55:25.774139 Received DATA (on stdin) 20:55:25.774148 > 26 bytes data, server => client 20:55:25.774155 '+OK Mail transfer starts\r\n' 20:55:25.774169 Received DATA (on stdin) 20:55:25.774176 > 18 bytes data, server => client 20:55:25.774183 'WE ROOLZ: 148443\r\n' 20:55:25.774192 Received DATA (on stdin) 20:55:25.774199 > 3 bytes data, server => client 20:55:25.774205 '.\r\n' 20:55:25.820422 < 6 bytes data, client => server 20:55:25.820446 'QUIT\r\n' 20:55:25.820625 Received DATA (on stdin) 20:55:25.820636 > 34 bytes data, server => client 20:55:25.820647 '+OK curl POP3 server signing off\r\n' 20:55:25.820789 ====> Client disconnect 20:55:25.820895 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 ==149785== ==149785== Process terminating with default action of signal 4 (SIGILL) ==149785== Illegal opcode at address 0x4003082 ==149785== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149785== by 0x4003082: main (tool_main.c:243) === End of file valgrind875 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/pop3_server.pid" --logfile "log/22/pop3_server.log" --logdir "log/22" --portfile "log/22/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41185 (log/22/server/pop3_server.port) RUN: POP3 server is PID 148863 port 41185 * pid pop3 => 148863 148863 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/22/valgrind867 ../src/curl -q --output log/22/curl867.out --include --trace-ascii log/22/trace867 --trace-config all --trace-time pop3://127.0.0.1:41185/867 -u user:secret > log/22/stdout867 2> log/22/stderr867 867: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 867 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind867 ../src/curl -q --output log/22/curl867.out --include --trace-ascii log/22/trace867 --trace-config all --trace-time pop3://127.0.0.1:41185/867 -u user:secret > log/22/stdout867 2> log/22/stderr867 === End of file commands.log === Start of file pop3_server.log 20:55:24.632510 POP3 server listens 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/2/valgrind861 ../src/curl -q --output log/2/curl861.out --include --trace-ascii log/2/trace861 --trace-config all --trace-time pop3://127.0.0.1:43693 -u user:secret -X UIDL > log/2/stdout861 2> log/2/stderr861 CMD (33792): ../libtool --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/valgrind862 ../src/curl -q --output log/1/curl862.out --include --trace-ascii log/1/trace862 --trace-config all --trace-time pop3://127.0.0.1:42073 -u user:secret -X 'TOP 862 0' > log/1/stdout862 2> log/1/stderr862 CMD (33792): ../libtool --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/valgrind859 ../src/curl -q --output log/8/curl859.out --include --trace-ascii log/8/trace859 --trace-config all --trace-time pop3://127.0.0.1:46235 -u user:secret -X STAT -I > log/8/stdout859 2> log/8/stderr859 port IPv4/41185 20:55:24.632572 logged pid 148863 in log/22/server/pop3_server.pid 20:55:24.632587 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.853840 Running IPv4 version 20:55:24.853880 Listening on port 41185 20:55:24.853907 Wrote pid 148868 to log/22/server/pop3_sockfilt.pid 20:55:24.853927 Wrote port 41185 to log/22/server/pop3_server.port 20:55:24.853939 Received PING (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 ==149861== ==149861== Process terminating with default action of signal 4 (SIGILL) ==149861== Illegal opcode at address 0x4003082 ==149861== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149861== by 0x4003082: main (tool_main.c:243) === End of file valgrind867 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 43693 (log/2/server/pop3_server.port) RUN: POP3 server is PID 148852 port 43693 * pid pop3 => 148852 148852 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/2/valgrind861 ../src/curl -q --output log/2/curl861.out --include --trace-ascii log/2/trace861 --trace-config all --trace-time pop3://127.0.0.1:43693 -u user:secret -X UIDL > log/2/stdout861 2> log/2/stderr861 861: 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 861 === Start of file commands.log ../libtool --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/valgrind861 ../src/curl -q --output log/2/curl861.out --include --trace-ascii log/2/trace861 --trace-config all --trace-time pop3://127.0.0.1:43693 -u user:secret -X UIDL > log/2/stdout861 2> log/2/stderr861 === End of file commands.log === Start of file pop3_server.log 20:55:24.559775 POP3 server listens on port IPv4/43693 20:55:24.559951 logged pid 148852 in log/2/server/pop3_server.pid 20:55:24.559973 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.781102 Running IPv4 version 20:55:24.781143 Listening on port 43693 20:55:24.781174 Wrote pid 148857 to log/2/server/pop3_sockfilt.pid 20:55:24.781194 Wrote port 43693 to log/2/server/pop3_server.port 20:55:24.781207 Received PING (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 ==149501== ==149501== Process terminating with default action of signal 4 (SIGILL) ==149501== Illegal opcode at address 0x4003082 ==149501== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149501== by 0x4003082: main (tool_main.c:243) === End of file valgrind861 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 42073 (log/1/server/pop3_server.port) RUN: POP3 server is PID 148853 port 42073 * pid pop3 => 148853 148853 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/1/valgrind862 ../src/curl -q --output log/1/curl862.out --include --trace-ascii log/1/trace862 --trace-config all --trace-time pop3://127.0.0.1:42073 -u user:secret -X 'TOP 862 0' > log/1/stdout862 2> log/1/stderr862 862: 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 862 === Start of file commands.log ../libtool --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/valgrind862 ../src/curl -q --output log/1/curl862.out --include --trace-ascii log/1/trace862 --trace-config all --trace-time pop3://127.0.0.1:42073 -u user:secret -X 'TOP 862 0' > log/1/stdout862 2> log/1/stderr862 === End of file commands.log === Start of file pop3_server.log 20:55:24.561145 POP3 server listens on port IPv4/42073 20:55:24.561203 logged pid 148853 in log/1/server/pop3_server.pid 20:55:24.561219 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.782395 Running IPv4 version 20:55:24.782437 Listening on port 42073 20:55:24.782466 Wrote pid 148858 to log/1/server/pop3_sockfilt.pid 20:55:24.782486 Wrote port 42073 to log/1/server/pop3_server.port 20:55:24.782588 Received PING (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 ==149508== ==149508== Process terminating with default action of signal 4 (SIGILL) ==149508== Illegal opcode at address 0x4003082 ==149508== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149508== by 0x4003082: main (tool_main.c:243) === End of file valgrind862 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 46235 (log/8/server/pop3_server.port) RUN: POP3 server is PID 148850 port 46235 * pid pop3 => 148850 148850 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/8/valgrind859 ../src/curl -q --output log/8/curl859.out --include --trace-ascii log/8/trace859 --trace-config all --trace-time pop3://127.0.0.1:46235 -u user:secret -X STAT -I > log/8/stdout859 2> log/8/stderr859 859: 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 859 === Start of file commands.log ../libtool --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/valgrind859 ../src/curl -q --output log/8/curl859.out --include --trace-ascii log/8/trace859 --trace-config all --trace-time pop3://127.0.0.1:46235 -u user:secret -X STAT -I > log/8/stdout859 2> log/8/stderr859 === End of file commands.log === Start of file pop3_server.log 20:55:24.556662 POP3 server listens on port IPv4/46235 20:55:24.556715 logged pid 148850 in log/8/server/pop3_server.pid 20:55:24.556730 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.777974 Running IPv4 version 20:55:24.778032 Listening on port 46235 20:55:24.778064 Wrote pid 148855 to log/8/server/pop3_sockfilt.pid 20:55:24.778085 Wrote port 46235 to log/8/server/pop3_server.port 20:55:24.778099 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 859 === End of file server.cmd === Start of file valgrind859 ==149465== ==149465== Process terminating with default action of signal 4 (SIGILL) ==149465== Illegal opcode at addresCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind860 ../src/curl -q --output log/23/curl860.out --include --trace-ascii log/23/trace860 --trace-config all --trace-time pop3://127.0.0.1:36747 -u user:secret -X NOOP -I > log/23/stdout860 2> log/23/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/9/valgrind863 ../src/curl -q --output log/9/curl863.out --include --trace-ascii log/9/trace863 --trace-config all --trace-time pop3://127.0.0.1:44607 -u user:secret -X RSET -I > log/9/stdout863 2> log/9/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/20/valgrind865 ../src/curl -q --output log/20/curl865.out --include --trace-ascii log/20/trace865 --trace-config all --trace-time pop3://127.0.0.1:35143/865 -u user:secret > log/20/stdout865 2> log/20/stderr865 CMD (33792): ../libtool --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/valgrind864 ../src/curl -q --output log/10/curl864.out --include --trace-ascii log/10/trace864 --trace-config all --trace-time pop3://127.0.0.1:38615/864 -u user:secret > log/10/stdout864 2> log/10/stderr864 s 0x4003082 ==149465== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149465== by 0x4003082: main (tool_main.c:243) === End of file valgrind859 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/pop3_server.pid" --logfile "log/23/pop3_server.log" --logdir "log/23" --portfile "log/23/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36747 (log/23/server/pop3_server.port) RUN: POP3 server is PID 148851 port 36747 * pid pop3 => 148851 148851 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/23/valgrind860 ../src/curl -q --output log/23/curl860.out --include --trace-ascii log/23/trace860 --trace-config all --trace-time pop3://127.0.0.1:36747 -u user:secret -X NOOP -I > log/23/stdout860 2> log/23/stderr860 860: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 860 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind860 ../src/curl -q --output log/23/curl860.out --include --trace-ascii log/23/trace860 --trace-config all --trace-time pop3://127.0.0.1:36747 -u user:secret -X NOOP -I > log/23/stdout860 2> log/23/stderr860 === End of file commands.log === Start of file pop3_server.log 20:55:24.557262 POP3 server listens on port IPv4/36747 20:55:24.557312 logged pid 148851 in log/23/server/pop3_server.pid 20:55:24.557328 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.778595 Running IPv4 version 20:55:24.778644 Listening on port 36747 20:55:24.778670 Wrote pid 148856 to log/23/server/pop3_sockfilt.pid 20:55:24.778690 Wrote port 36747 to log/23/server/pop3_server.port 20:55:24.778703 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==149471== ==149471== Process terminating with default action of signal 4 (SIGILL) ==149471== Illegal opcode at address 0x4003082 ==149471== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149471== by 0x4003082: main (tool_main.c:243) === End of file valgrind860 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 44607 (log/9/server/pop3_server.port) RUN: POP3 server is PID 148854 port 44607 * pid pop3 => 148854 148854 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/9/valgrind863 ../src/curl -q --output log/9/curl863.out --include --trace-ascii log/9/trace863 --trace-config all --trace-time pop3://127.0.0.1:44607 -u user:secret -X RSET -I > log/9/stdout863 2> log/9/stderr863 863: 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 863 === Start of file commands.log ../libtool --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/valgrind863 ../src/curl -q --output log/9/curl863.out --include --trace-ascii log/9/trace863 --trace-config all --trace-time pop3://127.0.0.1:44607 -u user:secret -X RSET -I > log/9/stdout863 2> log/9/stderr863 === End of file commands.log === Start of file pop3_server.log 20:55:24.564941 POP3 server listens on port IPv4/44607 20:55:24.565058 logged pid 148854 in log/9/server/pop3_server.pid 20:55:24.565079 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.786240 Running IPv4 version 20:55:24.786298 Listening on port 44607 20:55:24.786337 Wrote pid 148859 to log/9/server/pop3_sockfilt.pid 20:55:24.786357 Wrote port 44607 to log/9/server/pop3_server.port 20:55:24.786371 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 863 === End of file server.cmd === Start of file valgrind863 ==149548== ==149548== Process terminating with default action of signal 4 (SIGILL) ==149548== Illegal opcode at address 0x4003082 ==149548== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149548== by 0x4003082: main (tool_main.c:243) === End of file valgrind863 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/pop3_server.pid" --logfile "log/20/pop3_server.log" --logdir "log/20" --portfile "log/20/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35143 (log/20/server/pop3_server.port) RUN: POP3 server is PID 148861 port 35143 * pid pop3 => 148861 148861 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/20/valgrind865 ../src/curl -q --output log/20/curl865.out --include --trace-ascii log/20/trace865 --trace-config all --trace-time pop3://127.0.0.1:35143/865 -u user:secret > log/20/stdout865 2> log/20/stderr865 865: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ dir after test 865 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind865 ../src/curl -q --output log/20/curl865.out --include --trace-ascii log/20/trace865 --trace-config all --trace-time pop3://127.0.0.1:35143/865 -u user:secret > log/20/stdout865 2> log/20/stderr865 === End of file commands.log === Start of file pop3_server.log 20:55:24.615251 POP3 server listens on port IPv4/35143 20:55:24.615321 logged pid 148861 in log/20/server/pop3_server.pid 20:55:24.615340 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.836475 Running IPv4 version 20:55:24.836516 Listening on port 35143 20:55:24.836551 Wrote pid 148865 to log/20/server/pop3_sockfilt.pid 20:55:24.836588 Wrote port 35143 to log/20/server/pop3_server.port 20:55:24.836686 Received PING (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 ==149757== ==149757== Process terminating with default action of signal 4 (SIGILL) ==149757== Illegal opcode at address 0x4003082 ==149757== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149757== by 0x4003082: main (tool_main.c:243) === End of file valgrind865 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 38615 (log/10/server/pop3_server.port) RUN: POP3 server is PID 148860 port 38615 * pid pop3 => 148860 148860 test 0864...[POP3 APOP authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --numCMD (33792): ../libtool --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/valgrind876 ../src/curl -q --output log/5/curl876.out --include --trace-ascii log/5/trace876 --trace-config all --trace-time pop3://127.0.0.1:45647/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind866 ../src/curl -q --output log/18/curl866.out --include --trace-ascii log/18/trace866 --trace-config all --trace-time pop3://127.0.0.1:39493/866 -u user:secret > log/18/stdout866 2> log/18/stderr866 -callers=16 --log-file=log/10/valgrind864 ../src/curl -q --output log/10/curl864.out --include --trace-ascii log/10/trace864 --trace-config all --trace-time pop3://127.0.0.1:38615/864 -u user:secret > log/10/stdout864 2> log/10/stderr864 864: 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 864 === Start of file commands.log ../libtool --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/valgrind864 ../src/curl -q --output log/10/curl864.out --include --trace-ascii log/10/trace864 --trace-config all --trace-time pop3://127.0.0.1:38615/864 -u user:secret > log/10/stdout864 2> log/10/stderr864 === End of file commands.log === Start of file pop3_server.log 20:55:24.613181 POP3 server listens on port IPv4/38615 20:55:24.613267 logged pid 148860 in log/10/server/pop3_server.pid 20:55:24.613289 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.834469 Running IPv4 version 20:55:24.834525 Listening on port 38615 20:55:24.834558 Wrote pid 148864 to log/10/server/pop3_sockfilt.pid 20:55:24.834584 Wrote port 38615 to log/10/server/pop3_server.port 20:55:24.834602 Received PING (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 ==149751== ==149751== Process terminating with default action of signal 4 (SIGILL) ==149751== Illegal opcode at address 0x4003082 ==149751== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149751== by 0x4003082: main (tool_main.c:243) === End of file valgrind864 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/5/valgrind876 ../src/curl -q --output log/5/curl876.out --include --trace-ascii log/5/trace876 --trace-config all --trace-time pop3://127.0.0.1:45647/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 876: 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 876 === Start of file commands.log ../libtool --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/valgrind876 ../src/curl -q --output log/5/curl876.out --include --trace-ascii log/5/trace876 --trace-config all --trace-time pop3://127.0.0.1:45647/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 === End of file commands.log === Start of file pop3_server.log 20:55:25.552463 ====> Client connect 20:55:25.552595 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.552789 < "CAPA" 20:55:25.552821 > "-ERR Unrecognized command[CR][LF]" 20:55:25.552969 < "RETR verifiedserver" 20:55:25.552991 return proof we are we 20:55:25.553006 > "+OK Mail transfer starts[CR][LF]" 20:55:25.553019 > "WE ROOLZ: 148448[CR][LF]" 20:55:25.553030 > ".[CR][LF]" 20:55:25.599164 < "QUIT" 20:55:25.599215 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.599505 MAIN sockfilt said DISC 20:55:25.599525 ====> Client disconnected 20:55:25.599577 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:25.773892 ====> Client connect 20:55:25.774085 Received DATA (on stdin) 20:55:25.774102 > 178 bytes data, server => client 20:55:25.774111 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:25.774119 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:25.774126 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:25.774133 've \r\n' 20:55:25.774183 < 6 bytes data, client => server 20:55:25.774191 'CAPA\r\n' 20:55:25.774326 Received DATA (on stdin) 20:55:25.774335 > 27 bytes data, server => client 20:55:25.774342 '-ERR Unrecognized command\r\n' 20:55:25.774394 < 21 bytes data, client => server 20:55:25.774409 'RETR verifiedserver\r\n' 20:55:25.774533 Received DATA (on stdin) 20:55:25.774541 > 26 bytes data, server => client 20:55:25.774549 '+OK Mail transfer starts\r\n' 20:55:25.774565 Received DATA (on stdin) 20:55:25.774572 > 18 bytes data, server => client 20:55:25.774580 'WE ROOLZ: 148448\r\n' 20:55:25.774588 Received DATA (on stdin) 20:55:25.774595 > 3 bytes data, server => client 20:55:25.774602 '.\r\n' 20:55:25.820513 < 6 bytes data, client => server 20:55:25.820538 'QUIT\r\n' 20:55:25.820723 Received DATA (on stdin) 20:55:25.820734 > 34 bytes data, server => client 20:55:25.820744 '+OK curl POP3 server signing off\r\n' 20:55:25.820963 ====> Client disconnect 20:55:25.821082 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 ==149797== ==149797== Process terminating with default action of signal 4 (SIGILL) ==149797== Illegal opcode at address 0x4003082 ==149797== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==149797== by 0x4003082: main (tool_main.c:243) === End of file valgrind876 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/pop3_server.pid" --logfile "log/18/pop3_server.log" --logdir "log/18" --portfile "log/18/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39493 (log/18/server/pop3_server.port) RUN: POP3 server is PID 148862 port 39493 * pid pop3 => 148862 148862 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/18/valgrind866 ../src/curl -q --output log/18/curl866.out --include --trace-ascii log/18/trace866 --trace-config all --trace-time pop3://127.0.0.1:39493/866 -u user:secret > log/18/stdout866 2> log/18/stderr866 866: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 866 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind866 ../src/curl -q --output log/18/curl866.out --include --trace-ascii log/18/trace866 --trace-config all --trace-time pop3://127.0.0.1:39493/866 -u user:secret > log/18/stdout866 2> log/18/stderr866 === End of file commands.log === Start of file pop3_server.log 20:55:24.630101 POP3 server listens on port IPv4/39493 20:55:24.630160 logged pid 148862 in log/18/server/pop3_server.pid 20:55:24.630178 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.851435 Running IPv4 version 20:55:24.851475 Listening on port 39493 20:55:24.851500 Wrote pid 148867 to log/18/server/pop3_sockfilt.pid 20:55:24.851519 Wrote port 39493 to log/18/server/pop3_server.port 20:55:24.851533 Received PING (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 ==149833== ==149833== Process terminating with default action of signal 4 (SIGILL) ==149833== Illegal opcode at address 0x4003082 ==149833== at 0x4003082: UnknownInlinedFun (striCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind868 ../src/curl -q --output log/15/curl868.out --include --trace-ascii log/15/trace868 --trace-config all --trace-time pop3://127.0.0.1:38779/868 -u testuser:testpass > log/15/stdout868 2> log/15/stderr868 CMD (33792): ../libtool --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/valgrind724 ../src/curl -q --output log/6/curl724.out --include --trace-ascii log/6/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout724 2> log/6/stderr724 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind879 ../src/curl -q --output log/19/curl879.out --include --trace-ascii log/19/trace879 --trace-config all --trace-time pop3://127.0.0.1:45935/879 -u user:secret > log/19/stdout879 2> log/19/stderr879 ng_fortified.h:59) ==149833== by 0x4003082: main (tool_main.c:243) === End of file valgrind866 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/pop3_server.pid" --logfile "log/15/pop3_server.log" --logdir "log/15" --portfile "log/15/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38779 (log/15/server/pop3_server.port) RUN: POP3 server is PID 148866 port 38779 * pid pop3 => 148866 148866 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/15/valgrind868 ../src/curl -q --output log/15/curl868.out --include --trace-ascii log/15/trace868 --trace-config all --trace-time pop3://127.0.0.1:38779/868 -u testuser:testpass > log/15/stdout868 2> log/15/stderr868 868: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 868 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind868 ../src/curl -q --output log/15/curl868.out --include --trace-ascii log/15/trace868 --trace-config all --trace-time pop3://127.0.0.1:38779/868 -u testuser:testpass > log/15/stdout868 2> log/15/stderr868 === End of file commands.log === Start of file pop3_server.log 20:55:24.650763 POP3 server listens on port IPv4/38779 20:55:24.650809 logged pid 148866 in log/15/server/pop3_server.pid 20:55:24.650823 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:24.872121 Running IPv4 version 20:55:24.872156 Listening on port 38779 20:55:24.872182 Wrote pid 148884 to log/15/server/pop3_sockfilt.pid 20:55:24.872200 Wrote port 38779 to log/15/server/pop3_server.port 20:55:24.872212 Received PING (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 ==150033== ==150033== Process terminating with default action of signal 4 (SIGILL) ==150033== Illegal opcode at address 0x4003082 ==150033== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150033== by 0x4003082: main (tool_main.c:243) === End of file valgrind868 setenv HOME = /startdir/src/build-curl/tests/log/6 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/6/valgrind724 ../src/curl -q --output log/6/curl724.out --include --trace-ascii log/6/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout724 2> log/6/stderr724 724: 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 724 === Start of file commands.log ../libtool --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/valgrind724 ../src/curl -q --output log/6/curl724.out --include --trace-ascii log/6/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout724 2> log/6/stderr724 === End of file commands.log === Start of file http_server.log 20:55:20.596069 ====> Client connect 20:55:20.596092 accept_connection 3 returned 4 20:55:20.596104 accept_connection 3 returned 0 20:55:20.596114 Read 93 bytes 20:55:20.596121 Process 93 bytes request 20:55:20.596129 Got request: GET /verifiedserver HTTP/1.1 20:55:20.596135 Are-we-friendly question received 20:55:20.596149 Wrote request (93 bytes) input to log/6/server.input 20:55:20.596160 Identifying ourselves as friends 20:55:20.596200 Response sent (57 bytes) and written to log/6/server.response 20:55:20.596207 special request received, no persistency 20:55:20.596213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind724 ==142699== ==142699== Process terminating with default action of signal 4 (SIGILL) ==142699== Illegal opcode at address 0x4003082 ==142699== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==142699== by 0x4003082: main (tool_main.c:243) === End of file valgrind724 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/19/valgrind879 ../src/curl -q --output log/19/curl879.out --include --trace-ascii log/19/trace879 --trace-config all --trace-time pop3://127.0.0.1:45935/879 -u user:secret > log/19/stdout879 2> log/19/stderr879 879: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 879 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind879 ../src/curl -q --output log/19/curl879.out --include --trace-ascii log/19/trace879 --trace-config all --trace-time pop3://127.0.0.1:45935/879 -u user:secret > log/19/stdout879 2> log/19/stderr879 === End of file commands.log === Start of file pop3_server.log 20:55:25.791139 ====> Client connect 20:55:25.791306 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.791527 < "CAPA" 20:55:25.791572 > "-ERR Unrecognized command[CR][LF]" 20:55:25.791689 < "RETR verifiedserver" 20:55:25.791710 return proof we are we 20:55:25.791726 > "+OK Mail transfer starts[CR][LF]" 20:55:25.791739 > "WE ROOLZ: 148837[CR][LF]" 20:55:25.791750 > ".[CR][LF]" 20:55:25.838894 < "QUIT" 20:55:25.838951 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.839785 MAIN sockfilt said DISC 20:55:25.839810 ====> Client disconnected 20:55:25.839864 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.012552 ====> Client connect 20:55:26.012818 Received DATA (on stdin) 20:55:26.012831 > 178 bytes data, server => client 20:55:26.012840 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.012848 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.012856 ' \___|\___/|_| \_\_____|\r\n+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/4/valgrind877 ../src/curl -q --output log/4/curl877.out --include --trace-ascii log/4/trace877 --trace-config all --trace-time pop3://127.0.0.1:46715/877 -u testuser:testpass > log/4/stdout877 2> log/4/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/12/valgrind885 ../src/curl -q --output log/12/curl885.out --include --trace-ascii log/12/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44109/885' --sasl-ir > log/12/stdout885 2> log/12/stderr885 curl POP3 server ready to ser' 20:55:26.012862 've \r\n' 20:55:26.012920 < 6 bytes data, client => server 20:55:26.012934 'CAPA\r\n' 20:55:26.013078 Received DATA (on stdin) 20:55:26.013087 > 27 bytes data, server => client 20:55:26.013095 '-ERR Unrecognized command\r\n' 20:55:26.013137 < 21 bytes data, client => server 20:55:26.013150 'RETR verifiedserver\r\n' 20:55:26.013253 Received DATA (on stdin) 20:55:26.013262 > 26 bytes data, server => client 20:55:26.013269 '+OK Mail transfer starts\r\n' 20:55:26.013285 Received DATA (on stdin) 20:55:26.013294 > 18 bytes data, server => client 20:55:26.013304 'WE ROOLZ: 148837\r\n' 20:55:26.013315 Received DATA (on stdin) 20:55:26.013323 > 3 bytes data, server => client 20:55:26.013330 '.\r\n' 20:55:26.060284 < 6 bytes data, client => server 20:55:26.060306 'QUIT\r\n' 20:55:26.060461 Received DATA (on stdin) 20:55:26.060472 > 34 bytes data, server => client 20:55:26.060483 '+OK curl POP3 server signing off\r\n' 20:55:26.061239 ====> Client disconnect 20:55:26.061370 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 ==150255== ==150255== Process terminating with default action of signal 4 (SIGILL) ==150255== Illegal opcode at address 0x4003082 ==150255== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150255== by 0x4003082: main (tool_main.c:243) === 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/4/valgrind877 ../src/curl -q --output log/4/curl877.out --include --trace-ascii log/4/trace877 --trace-config all --trace-time pop3://127.0.0.1:46715/877 -u testuser:testpass > log/4/stdout877 2> log/4/stderr877 877: 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 877 === Start of file commands.log ../libtool --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/valgrind877 ../src/curl -q --output log/4/curl877.out --include --trace-ascii log/4/trace877 --trace-config all --trace-time pop3://127.0.0.1:46715/877 -u testuser:testpass > log/4/stdout877 2> log/4/stderr877 === End of file commands.log === Start of file pop3_server.log 20:55:25.781695 ====> Client connect 20:55:25.781847 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.782132 < "CAPA" 20:55:25.782169 > "-ERR Unrecognized command[CR][LF]" 20:55:25.782317 < "RETR verifiedserver" 20:55:25.782339 return proof we are we 20:55:25.782356 > "+OK Mail transfer starts[CR][LF]" 20:55:25.782372 > "WE ROOLZ: 148830[CR][LF]" 20:55:25.782385 > ".[CR][LF]" 20:55:25.828967 < "QUIT" 20:55:25.829014 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.829931 MAIN sockfilt said DISC 20:55:25.829956 ====> Client disconnected 20:55:25.830025 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.003105 ====> Client connect 20:55:26.003366 Received DATA (on stdin) 20:55:26.003379 > 178 bytes data, server => client 20:55:26.003391 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.003401 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.003410 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.003428 've \r\n' 20:55:26.003493 < 6 bytes data, client => server 20:55:26.003504 'CAPA\r\n' 20:55:26.003676 Received DATA (on stdin) 20:55:26.003687 > 27 bytes data, server => client 20:55:26.003697 '-ERR Unrecognized command\r\n' 20:55:26.003748 < 21 bytes data, client => server 20:55:26.003758 'RETR verifiedserver\r\n' 20:55:26.003891 Received DATA (on stdin) 20:55:26.003901 > 26 bytes data, server => client 20:55:26.003910 '+OK Mail transfer starts\r\n' 20:55:26.003928 Received DATA (on stdin) 20:55:26.003937 > 18 bytes data, server => client 20:55:26.003946 'WE ROOLZ: 148830\r\n' 20:55:26.003957 Received DATA (on stdin) 20:55:26.003966 > 3 bytes data, server => client 20:55:26.003974 '.\r\n' 20:55:26.050322 < 6 bytes data, client => server 20:55:26.050346 'QUIT\r\n' 20:55:26.050524 Received DATA (on stdin) 20:55:26.050535 > 34 bytes data, server => client 20:55:26.050545 '+OK curl POP3 server signing off\r\n' 20:55:26.051387 ====> Client disconnect 20:55:26.051532 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 ==150246== ==150246== Process terminating with default action of signal 4 (SIGILL) ==150246== Illegal opcode at address 0x4003082 ==150246== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150246== by 0x4003082: main (tool_main.c:243) === End of file valgrind877 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/12/valgrind885 ../src/curl -q --output log/12/curl885.out --include --trace-ascii log/12/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44109/885' --sasl-ir > log/12/stdout885 2> log/12/stderr885 885: 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 885 === Start of file commands.log ../libtool --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/valgrind885 ../src/curl -q --output log/12/curl885.out --include --trace-ascii log/12/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44109/885' --sasl-ir > log/12/stdout885 2> log/12/stderr885 === End of file commands.log === Start of file pop3_server.log 20:55:25.826097 ====> Client connect 20:55:25.826221 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.826420 < "CAPA" 20:55:25.826449 > "-ERR Unrecognized command[CR][LF]" 20:55:25.826564 < "RETR verifiedserver" 20:55:25.826584 return proof we are we 20:55:25.826599 > "+OK Mail transfer starts[CR][LF]" 20:55:25.826611 > "WE ROOLZ: 148841[CR][LF]" 20:55:25.826622 > ".[CR][LF]" 20:55:25.869138 < "QUIT" 20:55:25.869185 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.869306 MAIN sockfilt said DISC 20:55:25.869324 ====> Client disconnected 20:55:25.869390 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.047523 ====> Client connect 20:55:26.047732 Received DATA (on stdin) 20:55:26.047742 > 178 bytes data, server => client 20:55:26.047750 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.047758 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.047765 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.047771 've \r\n' 20:55:26.047818 < 6 bytes data, client => server 20:55:26.047827 'CAPA\r\n' 20:55:26.047953 Received DATA (on stdin) 20:55:26.047961 > 27 bytes data, server => client 20:55:26.047969 '-ERR Unrecognized command\r\n' 20:55:26.048CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind880 ../src/curl -q --output log/17/curl880.out --include --trace-ascii log/17/trace880 --trace-config all --trace-time pop3://127.0.0.1:44473/880 -u user:secret > log/17/stdout880 2> log/17/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/13/valgrind884 ../src/curl -q --output log/13/curl884.out --include --trace-ascii log/13/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:40815/884' > log/13/stdout884 2> log/13/stderr884 006 < 21 bytes data, client => server 20:55:26.048014 'RETR verifiedserver\r\n' 20:55:26.048124 Received DATA (on stdin) 20:55:26.048132 > 26 bytes data, server => client 20:55:26.048139 '+OK Mail transfer starts\r\n' 20:55:26.048153 Received DATA (on stdin) 20:55:26.048160 > 18 bytes data, server => client 20:55:26.048167 'WE ROOLZ: 148841\r\n' 20:55:26.048175 Received DATA (on stdin) 20:55:26.048182 > 3 bytes data, server => client 20:55:26.048189 '.\r\n' 20:55:26.090495 < 6 bytes data, client => server 20:55:26.090519 'QUIT\r\n' 20:55:26.090694 Received DATA (on stdin) 20:55:26.090704 > 34 bytes data, server => client 20:55:26.090714 '+OK curl POP3 server signing off\r\n' 20:55:26.090771 ====> Client disconnect 20:55:26.090897 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 ==150376== ==150376== Process terminating with default action of signal 4 (SIGILL) ==150376== Illegal opcode at address 0x4003082 ==150376== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150376== by 0x4003082: main (tool_main.c:243) === End of file valgrind885 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/13/valgrind884 ../src/curl -q --output log/13/curl884.out --include --trace-ascii log/13/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:40815/884' > log/13/stdout884 2> log/13/stderr884 884: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir after test 884 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind884 ../src/curl -q --output log/13/curl884.out --include --trace-ascii log/13/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:40815/884' > log/13/stdout884 2> log/13/stderr884 === End of file commands.log === Start of file pop3_server.log 20:55:25.816052 ====> Client connect 20:55:25.816340 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.816652 < "CAPA" 20:55:25.816691 > "-ERR Unrecognized command[CR][LF]" 20:55:25.816842 < "RETR verifiedserver" 20:55:25.816869 return proof we are we 20:55:25.816890 > "+OK Mail transfer starts[CR][LF]" 20:55:25.816905 > "WE ROOLZ: 148842[CR][LF]" 20:55:25.816919 > ".[CR][LF]" 20:55:25.858986 < "QUIT" 20:55:25.859035 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.859148 MAIN sockfilt said DISC 20:55:25.859167 ====> Client disconnected 20:55:25.859221 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.037455 ====> Client connect 20:55:26.037921 Received DATA (on stdin) 20:55:26.037940 > 178 bytes data, server => client 20:55:26.037949 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.037957 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.037964 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.037972 've \r\n' 20:55:26.038037 < 6 bytes data, client => server 20:55:26.038051 'CAPA\r\n' 20:55:26.038202 Received DATA (on stdin) 20:55:26.038218 > 27 bytes data, server => client 20:55:26.038228 '-ERR Unrecognized command\r\n' 20:55:26.038287 < 21 bytes data, client => server 20:55:26.038303 'RETR verifiedserver\r\n' 20:55:26.038432 Received DATA (on stdin) 20:55:26.038445 > 26 bytes data, server => client 20:55:26.038455 '+OK Mail transfer starts\r\n' 20:55:26.038476 Received DATA (on stdin) 20:55:26.038485 > 18 bytes data, server => client 20:55:26.038494 'WE ROOLZ: 148842\r\n' 20:55:26.038505 Received DATA (on stdin) 20:55:26.038514 > 3 bytes data, server => client 20:55:26.038522 '.\r\n' 20:55:26.080340 < 6 bytes data, client => server 20:55:26.080363 'QUIT\r\n' 20:55:26.080545 Received DATA (on stdin) 20:55:26.080555 > 34 bytes data, server => client 20:55:26.080566 '+OK curl POP3 server signing off\r\n' 20:55:26.080612 ====> Client disconnect 20:55:26.080729 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY = +OK Login successful Testnum 884 === End of file server.cmd === Start of file valgrind884 ==150317== ==150317== Process terminating with default action of signal 4 (SIGILL) ==150317== Illegal opcode at address 0x4003082 ==150317== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150317== by 0x4003082: main (tool_main.c:243) === End of file valgrind884 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/17/valgrind880 ../src/curl -q --output log/17/curl880.out --include --trace-ascii log/17/trace880 --trace-config all --trace-time pop3://127.0.0.1:44473/880 -u user:secret > log/17/stdout880 2> log/17/stderr880 880: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ dir after test 880 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind880 ../src/curl -q --output log/17/curl880.out --include --trace-ascii log/17/trace880 --trace-config all --trace-time pop3://127.0.0.1:44473/880 -u user:secret > log/17/stdout880 2> log/17/stderr880 === End of file commands.log === Start of file pop3_server.log 20:55:25.805105 ====> Client connect 20:55:25.805303 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.805650 < "CAPA" 20:55:25.805688 > "-ERR Unrecognized command[CR][LF]" 20:55:25.805844 < "RETR verifiedserver" 20:55:25.805871 return proof we are we 20:55:25.805895 > "+OK Mail transfer starts[CR][LF]" 20:55:25.805912 > "WE ROOLZ: 148839[CR][LF]" 20:55:25.805927 > ".[CR][LF]" 20:55:25.849387 < "QUIT" 20:55:25.849431 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.850295 MAIN sockfilt said DISC 20:55:25.850324 ====> Client disconnected 20:55:25.850381 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.026400 ====> Client connect 20:55:26.026828 Received DATA (on stdin) 20:55:26.026858 > 178 bytes data, server => client 20:55:26.026869 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.026880 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.026890 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.026899 've \r\n' 20:55:26.027000 < 6 bytes data, client => server 20:55:26.027012 'CAPA\r\n' 20:55:26.027197 Received DATA (on stdin) 20:55:26.027210 > 27 bytes data, server => client 20:55:26.027221 '-ERR Unrecognized command\r\n' 20:55:26.027271 < 21 bytes data, client => server 20:55:26.027283 'RETR verifiedserver\r\n' 20:55:26.027433 Received DATA (on stdin) 20:55:26.027444 > 26 bytes data, server => client 20:55:26.027454 '+OK Mail transfer starts\r\n' 20:55:26.027472 Received DATA (on stdin) 20:55:26.027481 > 18 bytes data, server => client 20:55:26.027491 'WE ROOLZ: 148839\r\n' 20:55:26.027502 Received DATA (on stdin) 20:55:26.027511 > 3 bytes data, server => client 20:55:26.027521 '.\r\n' 20:55:26.070754 < 6 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/7/valgrind883 ../src/curl -q --output log/7/curl883.out --include --trace-ascii log/7/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:36917/883' > log/7/stdout883 2> log/7/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/9/valgrind893 ../src/curl -q --output log/9/curl893.out --include --trace-ascii log/9/trace893 --trace-config all --trace-time pop3://127.0.0.1:44607/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/9/stdout893 2> log/9/stderr893 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind892 ../src/curl -q --output log/23/curl892.out --include --trace-ascii log/23/trace892 --trace-config all --trace-time pop3://127.0.0.1:36747/892 -u user:secret --sasl-authzid shared-mailbox > log/23/stdout892 2> log/23/stderr892 client => server 20:55:26.070775 'QUIT\r\n' 20:55:26.070940 Received DATA (on stdin) 20:55:26.070951 > 34 bytes data, server => client 20:55:26.070961 '+OK curl POP3 server signing off\r\n' 20:55:26.071748 ====> Client disconnect 20:55:26.071890 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 ==150284== ==150284== Process terminating with default action of signal 4 (SIGILL) ==150284== Illegal opcode at address 0x4003082 ==150284== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150284== by 0x4003082: main (tool_main.c:243) === End of file valgrind880 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/7/valgrind883 ../src/curl -q --output log/7/curl883.out --include --trace-ascii log/7/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:36917/883' > log/7/stdout883 2> log/7/stderr883 883: 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 883 === Start of file commands.log ../libtool --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/valgrind883 ../src/curl -q --output log/7/curl883.out --include --trace-ascii log/7/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:36917/883' > log/7/stdout883 2> log/7/stderr883 === End of file commands.log === Start of file pop3_server.log 20:55:25.815782 ====> Client connect 20:55:25.815925 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:25.816150 < "CAPA" 20:55:25.816183 > "-ERR Unrecognized command[CR][LF]" 20:55:25.816344 < "RETR verifiedserver" 20:55:25.816373 return proof we are we 20:55:25.816391 > "+OK Mail transfer starts[CR][LF]" 20:55:25.816408 > "WE ROOLZ: 148843[CR][LF]" 20:55:25.816422 > ".[CR][LF]" 20:55:25.862628 < "QUIT" 20:55:25.862682 > "+OK curl POP3 server signing off[CR][LF]" 20:55:25.862920 MAIN sockfilt said DISC 20:55:25.862967 ====> Client disconnected 20:55:25.863036 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.037206 ====> Client connect 20:55:26.037441 Received DATA (on stdin) 20:55:26.037455 > 178 bytes data, server => client 20:55:26.037467 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.037477 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.037484 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.037491 've \r\n' 20:55:26.037542 < 6 bytes data, client => server 20:55:26.037553 'CAPA\r\n' 20:55:26.037688 Received DATA (on stdin) 20:55:26.037697 > 27 bytes data, server => client 20:55:26.037705 '-ERR Unrecognized command\r\n' 20:55:26.037756 < 21 bytes data, client => server 20:55:26.037775 'RETR verifiedserver\r\n' 20:55:26.037930 Received DATA (on stdin) 20:55:26.037941 > 26 bytes data, server => client 20:55:26.037951 '+OK Mail transfer starts\r\n' 20:55:26.037971 Received DATA (on stdin) 20:55:26.037980 > 18 bytes data, server => client 20:55:26.037989 'WE ROOLZ: 148843\r\n' 20:55:26.038001 Received DATA (on stdin) 20:55:26.038010 > 3 bytes data, server => client 20:55:26.038019 '.\r\n' 20:55:26.083971 < 6 bytes data, client => server 20:55:26.083994 'QUIT\r\n' 20:55:26.084195 Received DATA (on stdin) 20:55:26.084227 > 34 bytes data, server => client 20:55:26.084239 '+OK curl POP3 server signing off\r\n' 20:55:26.084353 ====> Client disconnect 20:55:26.084550 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 ==150332== ==150332== Process terminating with default action of signal 4 (SIGILL) ==150332== Illegal opcode at address 0x4003082 ==150332== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150332== by 0x4003082: main (tool_main.c:243) === End of file valgrind883 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/9/valgrind893 ../src/curl -q --output log/9/curl893.out --include --trace-ascii log/9/trace893 --trace-config all --trace-time pop3://127.0.0.1:44607/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/9/stdout893 2> log/9/stderr893 893: 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 893 === Start of file commands.log ../libtool --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/valgrind893 ../src/curl -q --output log/9/curl893.out --include --trace-ascii log/9/trace893 --trace-config all --trace-time pop3://127.0.0.1:44607/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/9/stdout893 2> log/9/stderr893 === End of file commands.log === Start of file pop3_server.log 20:55:26.071558 ====> Client connect 20:55:26.071714 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.071994 < "CAPA" 20:55:26.072091 > "-ERR Unrecognized command[CR][LF]" 20:55:26.072284 < "RETR verifiedserver" 20:55:26.072308 return proof we are we 20:55:26.072327 > "+OK Mail transfer starts[CR][LF]" 20:55:26.072343 > "WE ROOLZ: 148854[CR][LF]" 20:55:26.072357 > ".[CR][LF]" 20:55:26.115663 < "QUIT" 20:55:26.115719 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.116478 MAIN sockfilt said DISC 20:55:26.116508 ====> Client disconnected 20:55:26.116566 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.292989 ====> Client connect 20:55:26.293236 Received DATA (on stdin) 20:55:26.293254 > 178 bytes data, server => client 20:55:26.293265 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.293275 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.293285 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.293293 've \r\n' 20:55:26.293368 < 6 bytes data, client => server 20:55:26.293379 'CAPA\r\n' 20:55:26.293616 Received DATA (on stdin) 20:55:26.293631 > 27 bytes data, server => client 20:55:26.293641 '-ERR Unrecognized command\r\n' 20:55:26.293702 < 21 bytes data, client => server 20:55:26.293713 'RETR verifiedserver\r\n' 20:55:26.293865 Received DATA (on stdin) 20:55:26.293877 > 26 bytes data, server => client 20:55:26.293928 '+OK Mail transfer starts\r\n' 20:55:26.293957 Received DATA (on stdin) 20:55:26.293967 > 18 bytes data, server => client 20:55:26.293976 'WE ROOLZ: 148854\r\n' 20:55:26.293987 Received DATA (on stdin) 20:55:26.293996 > 3 bytes data, server => client 20:55:26.294004 '.\r\n' 20:55:26.337045 < 6 bytes data, client => server 20:55:26.337066 'QUIT\r\n' 20:55:26.337236 Received DATA (on stdin) 20:55:26.337253 > 34 bytes data, server => client 20:55:26.337264 '+OK curl POP3 server signing off\r\n' 20:55:26.337931 ====> Client disconnect 20:55:26.338075 Received ACKD (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/10/valgrind895 ../src/curl -q --output log/10/curl895.out --include --trace-ascii log/10/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36287/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/10/stdout895 2> log/10/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/5/valgrind896 ../src/curl -q --output log/5/curl896.out --include --trace-ascii log/5/trace896 --trace-config all --trace-time 'imap://127.0.0.1:36315/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/5/stdout896 2> log/5/stderr896 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 ==150919== ==150919== Process terminating with default action of signal 4 (SIGILL) ==150919== Illegal opcode at address 0x4003082 ==150919== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150919== by 0x4003082: main (tool_main.c:243) === End of file valgrind893 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/23/valgrind892 ../src/curl -q --output log/23/curl892.out --include --trace-ascii log/23/trace892 --trace-config all --trace-time pop3://127.0.0.1:36747/892 -u user:secret --sasl-authzid shared-mailbox > log/23/stdout892 2> log/23/stderr892 892: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ dir after test 892 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind892 ../src/curl -q --output log/23/curl892.out --include --trace-ascii log/23/trace892 --trace-config all --trace-time pop3://127.0.0.1:36747/892 -u user:secret --sasl-authzid shared-mailbox > log/23/stdout892 2> log/23/stderr892 === End of file commands.log === Start of file pop3_server.log 20:55:26.070681 ====> Client connect 20:55:26.070801 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.071032 < "CAPA" 20:55:26.071064 > "-ERR Unrecognized command[CR][LF]" 20:55:26.071314 < "RETR verifiedserver" 20:55:26.071352 return proof we are we 20:55:26.071378 > "+OK Mail transfer starts[CR][LF]" 20:55:26.071395 > "WE ROOLZ: 148851[CR][LF]" 20:55:26.071409 > ".[CR][LF]" 20:55:26.115613 < "QUIT" 20:55:26.115667 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.115848 MAIN sockfilt said DISC 20:55:26.115874 ====> Client disconnected 20:55:26.115921 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.292098 ====> Client connect 20:55:26.292305 Received DATA (on stdin) 20:55:26.292316 > 178 bytes data, server => client 20:55:26.292325 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.292332 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.292339 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.292346 've \r\n' 20:55:26.292410 < 6 bytes data, client => server 20:55:26.292419 'CAPA\r\n' 20:55:26.292569 Received DATA (on stdin) 20:55:26.292578 > 27 bytes data, server => client 20:55:26.292586 '-ERR Unrecognized command\r\n' 20:55:26.292675 < 21 bytes data, client => server 20:55:26.292695 'RETR verifiedserver\r\n' 20:55:26.292919 Received DATA (on stdin) 20:55:26.292931 > 26 bytes data, server => client 20:55:26.292940 '+OK Mail transfer starts\r\n' 20:55:26.292962 Received DATA (on stdin) 20:55:26.292971 > 18 bytes data, server => client 20:55:26.292980 'WE ROOLZ: 148851\r\n' 20:55:26.292991 Received DATA (on stdin) 20:55:26.292999 > 3 bytes data, server => client 20:55:26.293009 '.\r\n' 20:55:26.337018 < 6 bytes data, client => server 20:55:26.337043 'QUIT\r\n' 20:55:26.337177 Received DATA (on stdin) 20:55:26.337189 > 34 bytes data, server => client 20:55:26.337200 '+OK curl POP3 server signing off\r\n' 20:55:26.337270 ====> Client disconnect 20:55:26.337424 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 ==150917== ==150917== Process terminating with default action of signal 4 (SIGILL) ==150917== Illegal opcode at address 0x4003082 ==150917== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150917== by 0x4003082: main (tool_main.c:243) === End of file valgrind892 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/10/valgrind895 ../src/curl -q --output log/10/curl895.out --include --trace-ascii log/10/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36287/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/10/stdout895 2> log/10/stderr895 895: 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 895 === Start of file commands.log ../libtool --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/valgrind895 ../src/curl -q --output log/10/curl895.out --include --trace-ascii log/10/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36287/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/10/stdout895 2> log/10/stderr895 === End of file commands.log === Start of file imap_server.log 20:55:26.087842 ====> Client connect 20:55:26.087971 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:26.088235 < "A001 CAPABILITY" 20:55:26.088272 > "A001 BAD Command[CR][LF]" 20:55:26.088422 < "A002 LIST "verifiedserver" *" 20:55:26.088450 LIST_imap got "verifiedserver" * 20:55:26.088484 > "* LIST () "/" "WE ROOLZ: 140651"[CR][LF]" 20:55:26.088507 > "A002 OK LIST Completed[CR][LF]" 20:55:26.088517 return proof we are we 20:55:26.132269 < "A003 LOGOUT" 20:55:26.132319 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:26.132336 > "A003 OK LOGOUT completed[CR][LF]" 20:55:26.132479 MAIN sockfilt said DISC 20:55:26.132500 ====> Client disconnected 20:55:26.132552 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:26.309272 ====> Client connect 20:55:26.309492 Received DATA (on stdin) 20:55:26.309512 > 178 bytes data, server => client 20:55:26.309523 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.309533 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.309542 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:26.309551 'rve\r\n' 20:55:26.309625 < 17 bytes data, client => server 20:55:26.309637 'A001 CAPABILITY\r\n' 20:55:26.309763 Received DATA (on stdin) 20:55:26.309774 > 18 bytes data, server => client 20:55:26.309784 'A001 BAD Command\r\n' 20:55:26.309844 < 30 bytes data, client => server 20:55:26.309861 'A002 LIST "verifiedserver" *\r\n' 20:55:26.310021 Received DATA (on stdin) 20:55:26.310031 > 34 bytes data, server => client 20:55:26.310039 '* LIST () "/" "WE ROOLZ: 140651"\r\n' 20:55:26.310055 Received DATA (on stdin) 20:55:26.310062 > 24 bytes data, server => client 20:55:26.310069 'A002 OK LIST Completed\r\n' 20:55:26.353630 < 13 bytes data, client => server 20:55:26.353649 'A003 LOGOUT\r\n' 20:55:26.353844 Received DATA (on stdin) 20:55:26.353855 > 36 bytes data, server => client 20:55:26.353865 '* BYE curl IMAP server signing off\r\n' 20:55:26.353888 Received DATA (on stdin) 20:55:26.353898 > 26 bytes data, server => client 20:55:26.353908 'A003 OK LOGOUT completed\r\n' 20:55:26.353947 ====> Client disconnect 20:55:26.354045 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 vaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind897 ../src/curl -q --output log/18/curl897.out --include --trace-ascii log/18/trace897 --trace-config all --trace-time 'imap://127.0.0.1:42007/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/18/head-897 > log/18/stdout897 2> log/18/stderr897 lgrind895 ==151066== ==151066== Process terminating with default action of signal 4 (SIGILL) ==151066== Illegal opcode at address 0x4003082 ==151066== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151066== by 0x4003082: main (tool_main.c:243) === 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/5/valgrind896 ../src/curl -q --output log/5/curl896.out --include --trace-ascii log/5/trace896 --trace-config all --trace-time 'imap://127.0.0.1:36315/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/5/stdout896 2> log/5/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/5/ dir after test 896 === Start of file commands.log ../libtool --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/valgrind896 ../src/curl -q --output log/5/curl896.out --include --trace-ascii log/5/trace896 --trace-config all --trace-time 'imap://127.0.0.1:36315/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/5/stdout896 2> log/5/stderr896 === End of file commands.log === Start of file imap_server.log 20:55:26.091762 ====> Client connect 20:55:26.091873 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:26.092093 < "A001 CAPABILITY" 20:55:26.092119 > "A001 BAD Command[CR][LF]" 20:55:26.092303 < "A002 LIST "verifiedserver" *" 20:55:26.092323 LIST_imap got "verifiedserver" * 20:55:26.092339 > "* LIST () "/" "WE ROOLZ: 145800"[CR][LF]" 20:55:26.092351 > "A002 OK LIST Completed[CR][LF]" 20:55:26.092360 return proof we are we 20:55:26.135753 < "A003 LOGOUT" 20:55:26.135802 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:26.135819 > "A003 OK LOGOUT completed[CR][LF]" 20:55:26.136393 MAIN sockfilt said DISC 20:55:26.136419 ====> Client disconnected 20:55:26.136489 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:26.313190 ====> Client connect 20:55:26.313385 Received DATA (on stdin) 20:55:26.313396 > 178 bytes data, server => client 20:55:26.313405 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.313413 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.313421 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:26.313427 'rve\r\n' 20:55:26.313478 < 17 bytes data, client => server 20:55:26.313487 'A001 CAPABILITY\r\n' 20:55:26.313623 Received DATA (on stdin) 20:55:26.313632 > 18 bytes data, server => client 20:55:26.313640 'A001 BAD Command\r\n' 20:55:26.313741 < 30 bytes data, client => server 20:55:26.313750 'A002 LIST "verifiedserver" *\r\n' 20:55:26.313838 Received DATA (on stdin) 20:55:26.313852 > 34 bytes data, server => client 20:55:26.313860 '* LIST () "/" "WE ROOLZ: 145800"\r\n' 20:55:26.313877 Received DATA (on stdin) 20:55:26.313884 > 24 bytes data, server => client 20:55:26.313892 'A002 OK LIST Completed\r\n' 20:55:26.357104 < 13 bytes data, client => server 20:55:26.357127 'A003 LOGOUT\r\n' 20:55:26.357327 Received DATA (on stdin) 20:55:26.357337 > 36 bytes data, server => client 20:55:26.357348 '* BYE curl IMAP server signing off\r\n' 20:55:26.357368 Received DATA (on stdin) 20:55:26.357377 > 26 bytes data, server => client 20:55:26.357387 'A003 OK LOGOUT completed\r\n' 20:55:26.357852 ====> Client disconnect 20:55:26.357997 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 ==151089== ==151089== Process terminating with default action of signal 4 (SIGILL) ==151089== Illegal opcode at address 0x4003082 ==151089== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151089== by 0x4003082: main (tool_main.c:243) === End of file valgrind896 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/18/valgrind897 ../src/curl -q --output log/18/curl897.out --include --trace-ascii log/18/trace897 --trace-config all --trace-time 'imap://127.0.0.1:42007/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/18/head-897 > log/18/stdout897 2> log/18/stderr897 897: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ dir after test 897 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind897 ../src/curl -q --output log/18/curl897.out --include --trace-ascii log/18/trace897 --trace-config all --trace-time 'imap://127.0.0.1:42007/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/18/head-897 > log/18/stdout897 2> log/18/stderr897 === End of file commands.log === Start of file imap_server.log 20:55:26.102522 ====> Client connect 20:55:26.102652 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 20:55:26.102901 < "A001 CAPABILITY" 20:55:26.102928 > "A001 BAD Command[CR][LF]" 20:55:26.103048 < "A002 LIST "verifiedserver" *" 20:55:26.103066 LIST_imap got "verifiedserver" * 20:55:26.103083 > "* LIST () "/" "WE ROOLZ: 145801"[CR][LF]" 20:55:26.103095 > "A002 OK LIST Completed[CR][LF]" 20:55:26.103104 return proof we are we 20:55:26.149155 < "A003 LOGOUT" 20:55:26.149223 > "* BYE curl IMAP server signing off[CR][LF]" 20:55:26.149241 > "A003 OK LOGOUT completed[CR][LF]" 20:55:26.149649 MAIN sockfilt said DISC 20:55:26.149680 ====> Client disconnected 20:55:26.149759 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 20:55:26.323948 ====> Client connect 20:55:26.324170 Received DATA (on stdin) 20:55:26.324184 > 178 bytes data, server => client 20:55:26.324195 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.324206 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.324216 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 20:55:26.324224 'rve\r\n' 20:55:26.324296 < 17 bytes data, client => server 20:55:26.324310 'A001 CAPABILITY\r\n' 20:55:26.324432 Received DATA (on stdin) 20:55:26.324441 > 18 bytes data, server => client 20:55:26.324449 'A001 BAD Command\r\n' 20:55:26.324489 < 30 bytes data, client => server 20:55:26.324498 'A002 LIST "verifiedserver" *\r\n' 20:55:26.324606 Received DATA (on stdin) 20:55:26.324615 > 34 bytes data, server => client 20:55:26.324622 '* LIST () "/" "WE ROOLZ: 145801"\r\n' 20:55:26.324637 Received DATA (on stdin) 20:55:26.324644 > 24 bytes data, server => client 20:55:26.324652 'A002 OK LIST Completed\r\n' 20:55:26.370483 < 13 bytes data, client => server 20:55:26.370508 'A003 LOGOUT\r\n' 20:55:26.370748 Received DATA (on stdin) 20:55:26.370760 > 36 bytes data, server => client 20:55:26.370770 '* BYE curl IMAP server signing off\r\n' 20:55:26.370792 Received DATA (on stdin) 20:55:26.370800 > 26 bytes data, server => client 20:55:26.370810 'A003 OK LOGOUT completed\r\n' 20:55:26.371109 ====> Client disconnect 20:55:26.371265 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 ==151230== ==151230== Process terminating with default action of signal 4 (SIGILL) ==151230== Illegal opcCMD (33792): ../libtool --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/valgrind891 ../src/curl -q --output log/8/curl891.out --include --trace-ascii log/8/trace891 --trace-config all --trace-time pop3://127.0.0.1:46235/891 -u user:secret > log/8/stdout891 2> log/8/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/16/valgrind886 ../src/curl -q --output log/16/curl886.out --include --trace-ascii log/16/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39545/886' --sasl-ir > log/16/stdout886 2> log/16/stderr886 CMD (33792): ../libtool --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/valgrind890 ../src/curl -q --output log/1/curl890.out --include --trace-ascii log/1/trace890 --trace-config all --trace-time pop3://127.0.0.1:42073/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/1/stdout890 2> log/1/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/22/valgrind888 ../src/curl -q --output log/22/curl888.out --include --trace-ascii log/22/trace888 --trace-config all --trace-time pop3://127.0.0.1:41185/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/22/stdout888 2> log/22/stderr888 ode at address 0x4003082 ==151230== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151230== by 0x4003082: main (tool_main.c:243) === End of file valgrind897 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/8/valgrind891 ../src/curl -q --output log/8/curl891.out --include --trace-ascii log/8/trace891 --trace-config all --trace-time pop3://127.0.0.1:46235/891 -u user:secret > log/8/stdout891 2> log/8/stderr891 891: 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 891 === Start of file commands.log ../libtool --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/valgrind891 ../src/curl -q --output log/8/curl891.out --include --trace-ascii log/8/trace891 --trace-config all --trace-time pop3://127.0.0.1:46235/891 -u user:secret > log/8/stdout891 2> log/8/stderr891 === End of file commands.log === Start of file pop3_server.log 20:55:26.065082 ====> Client connect 20:55:26.065283 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.065669 < "CAPA" 20:55:26.065730 > "-ERR Unrecognized command[CR][LF]" 20:55:26.065992 < "RETR verifiedserver" 20:55:26.066032 return proof we are we 20:55:26.066055 > "+OK Mail transfer starts[CR][LF]" 20:55:26.066073 > "WE ROOLZ: 148850[CR][LF]" 20:55:26.066087 > ".[CR][LF]" 20:55:26.109181 < "QUIT" 20:55:26.109225 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.109316 MAIN sockfilt said DISC 20:55:26.109340 ====> Client disconnected 20:55:26.109398 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.286492 ====> Client connect 20:55:26.286809 Received DATA (on stdin) 20:55:26.286824 > 178 bytes data, server => client 20:55:26.286835 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.286852 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.286861 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.286870 've \r\n' 20:55:26.286949 < 6 bytes data, client => server 20:55:26.286961 'CAPA\r\n' 20:55:26.287247 Received DATA (on stdin) 20:55:26.287265 > 27 bytes data, server => client 20:55:26.287275 '-ERR Unrecognized command\r\n' 20:55:26.287351 < 21 bytes data, client => server 20:55:26.287372 'RETR verifiedserver\r\n' 20:55:26.287596 Received DATA (on stdin) 20:55:26.287607 > 26 bytes data, server => client 20:55:26.287617 '+OK Mail transfer starts\r\n' 20:55:26.287640 Received DATA (on stdin) 20:55:26.287649 > 18 bytes data, server => client 20:55:26.287658 'WE ROOLZ: 148850\r\n' 20:55:26.287670 Received DATA (on stdin) 20:55:26.287678 > 3 bytes data, server => client 20:55:26.287687 '.\r\n' 20:55:26.330501 < 6 bytes data, client => server 20:55:26.330598 'QUIT\r\n' 20:55:26.330714 Received DATA (on stdin) 20:55:26.330727 > 34 bytes data, server => client 20:55:26.330737 '+OK curl POP3 server signing off\r\n' 20:55:26.330778 ====> Client disconnect 20:55:26.330906 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLYLF AUTH + Testnum 891 === End of file server.cmd === Start of file valgrind891 ==150834== ==150834== Process terminating with default action of signal 4 (SIGILL) ==150834== Illegal opcode at address 0x4003082 ==150834== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150834== by 0x4003082: main (tool_main.c:243) === End of file valgrind891 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/16/valgrind886 ../src/curl -q --output log/16/curl886.out --include --trace-ascii log/16/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39545/886' --sasl-ir > log/16/stdout886 2> log/16/stderr886 886: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ dir after test 886 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind886 ../src/curl -q --output log/16/curl886.out --include --trace-ascii log/16/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39545/886' --sasl-ir > log/16/stdout886 2> log/16/stderr886 === End of file commands.log === Start of file pop3_server.log 20:55:26.043337 ====> Client connect 20:55:26.043465 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.043712 < "CAPA" 20:55:26.043744 > "-ERR Unrecognized command[CR][LF]" 20:55:26.043889 < "RETR verifiedserver" 20:55:26.043912 return proof we are we 20:55:26.043931 > "+OK Mail transfer starts[CR][LF]" 20:55:26.043946 > "WE ROOLZ: 131363[CR][LF]" 20:55:26.043960 > ".[CR][LF]" 20:55:26.085625 < "QUIT" 20:55:26.085671 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.085857 MAIN sockfilt said DISC 20:55:26.085935 ====> Client disconnected 20:55:26.086000 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.264745 ====> Client connect 20:55:26.264981 Received DATA (on stdin) 20:55:26.264993 > 178 bytes data, server => client 20:55:26.265005 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.265015 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.265025 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.265034 've \r\n' 20:55:26.265097 < 6 bytes data, client => server 20:55:26.265109 'CAPA\r\n' 20:55:26.265251 Received DATA (on stdin) 20:55:26.265262 > 27 bytes data, server => client 20:55:26.265272 '-ERR Unrecognized command\r\n' 20:55:26.265319 < 21 bytes data, client => server 20:55:26.265330 'RETR verifiedserver\r\n' 20:55:26.265465 Received DATA (on stdin) 20:55:26.265475 > 26 bytes data, server => client 20:55:26.265485 '+OK Mail transfer starts\r\n' 20:55:26.265503 Received DATA (on stdin) 20:55:26.265512 > 18 bytes data, server => client 20:55:26.265521 'WE ROOLZ: 131363\r\n' 20:55:26.265532 Received DATA (on stdin) 20:55:26.265541 > 3 bytes data, server => client 20:55:26.265550 '.\r\n' 20:55:26.306988 < 6 bytes data, client => server 20:55:26.307008 'QUIT\r\n' 20:55:26.307179 Received DATA (on stdin) 20:55:26.307190 > 34 bytes data, server => client 20:55:26.307200 '+OK curl POP3 server signing off\r\n' 20:55:26.307318 ====> Client disconnect 20:55:26.307514 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 ==150716== ==150716== Process terminating with default action of signal 4 (SIGILL) ==150716== Illegal opcode at address 0x4003082 ==150716== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150716== by 0x4003082: main (tool_main.c:243) === End of file valgrind886 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/1/valgrind890 ../src/curl -q --output log/1/curl890.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/11/valgrind887 ../src/curl -q --output log/11/curl887.out --include --trace-ascii log/11/trace887 --trace-config all --trace-time pop3://127.0.0.1:36729/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout887 2> log/11/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/2/valgrind889 ../src/curl -q --output log/2/curl889.out --include --trace-ascii log/2/trace889 --trace-config all --trace-time pop3://127.0.0.1:43693/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/2/stdout889 2> log/2/stderr889 ce-ascii log/1/trace890 --trace-config all --trace-time pop3://127.0.0.1:42073/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/1/stdout890 2> log/1/stderr890 890: 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 890 === Start of file commands.log ../libtool --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/valgrind890 ../src/curl -q --output log/1/curl890.out --include --trace-ascii log/1/trace890 --trace-config all --trace-time pop3://127.0.0.1:42073/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/1/stdout890 2> log/1/stderr890 === End of file commands.log === Start of file pop3_server.log 20:55:26.061997 ====> Client connect 20:55:26.062163 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.062469 < "CAPA" 20:55:26.062506 > "-ERR Unrecognized command[CR][LF]" 20:55:26.062653 < "RETR verifiedserver" 20:55:26.062678 return proof we are we 20:55:26.062695 > "+OK Mail transfer starts[CR][LF]" 20:55:26.062711 > "WE ROOLZ: 148853[CR][LF]" 20:55:26.062724 > ".[CR][LF]" 20:55:26.105788 < "QUIT" 20:55:26.105839 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.106062 MAIN sockfilt said DISC 20:55:26.106080 ====> Client disconnected 20:55:26.106128 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.283416 ====> Client connect 20:55:26.283683 Received DATA (on stdin) 20:55:26.283696 > 178 bytes data, server => client 20:55:26.283707 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.283718 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.283727 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.283736 've \r\n' 20:55:26.283832 < 6 bytes data, client => server 20:55:26.283843 'CAPA\r\n' 20:55:26.284015 Received DATA (on stdin) 20:55:26.284026 > 27 bytes data, server => client 20:55:26.284035 '-ERR Unrecognized command\r\n' 20:55:26.284083 < 21 bytes data, client => server 20:55:26.284094 'RETR verifiedserver\r\n' 20:55:26.284230 Received DATA (on stdin) 20:55:26.284240 > 26 bytes data, server => client 20:55:26.284249 '+OK Mail transfer starts\r\n' 20:55:26.284267 Received DATA (on stdin) 20:55:26.284276 > 18 bytes data, server => client 20:55:26.284285 'WE ROOLZ: 148853\r\n' 20:55:26.284296 Received DATA (on stdin) 20:55:26.284305 > 3 bytes data, server => client 20:55:26.284313 '.\r\n' 20:55:26.327150 < 6 bytes data, client => server 20:55:26.327172 'QUIT\r\n' 20:55:26.327333 Received DATA (on stdin) 20:55:26.327349 > 34 bytes data, server => client 20:55:26.327358 '+OK curl POP3 server signing off\r\n' 20:55:26.327522 ====> Client disconnect 20:55:26.327631 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 ==150831== ==150831== Process terminating with default action of signal 4 (SIGILL) ==150831== Illegal opcode at address 0x4003082 ==150831== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150831== by 0x4003082: main (tool_main.c:243) === End of file valgrind890 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/22/valgrind888 ../src/curl -q --output log/22/curl888.out --include --trace-ascii log/22/trace888 --trace-config all --trace-time pop3://127.0.0.1:41185/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/22/stdout888 2> log/22/stderr888 888: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ dir after test 888 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind888 ../src/curl -q --output log/22/curl888.out --include --trace-ascii log/22/trace888 --trace-config all --trace-time pop3://127.0.0.1:41185/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/22/stdout888 2> log/22/stderr888 === End of file commands.log === Start of file pop3_server.log 20:55:26.044969 ====> Client connect 20:55:26.045102 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.045353 < "CAPA" 20:55:26.045400 > "-ERR Unrecognized command[CR][LF]" 20:55:26.045626 < "RETR verifiedserver" 20:55:26.045653 return proof we are we 20:55:26.045673 > "+OK Mail transfer starts[CR][LF]" 20:55:26.045716 > "WE ROOLZ: 148863[CR][LF]" 20:55:26.045738 > ".[CR][LF]" 20:55:26.088950 < "QUIT" 20:55:26.088997 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.089319 MAIN sockfilt said DISC 20:55:26.089344 ====> Client disconnected 20:55:26.089400 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.266394 ====> Client connect 20:55:26.266615 Received DATA (on stdin) 20:55:26.266626 > 178 bytes data, server => client 20:55:26.266635 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.266643 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.266650 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.266657 've \r\n' 20:55:26.266717 < 6 bytes data, client => server 20:55:26.266734 'CAPA\r\n' 20:55:26.266910 Received DATA (on stdin) 20:55:26.266924 > 27 bytes data, server => client 20:55:26.266966 '-ERR Unrecognized command\r\n' 20:55:26.267039 < 21 bytes data, client => server 20:55:26.267052 'RETR verifiedserver\r\n' 20:55:26.267166 Received DATA (on stdin) 20:55:26.267210 > 26 bytes data, server => client 20:55:26.267224 '+OK Mail transfer starts\r\n' 20:55:26.267247 Received DATA (on stdin) 20:55:26.267282 > 18 bytes data, server => client 20:55:26.267299 'WE ROOLZ: 148863\r\n' 20:55:26.267315 Received DATA (on stdin) 20:55:26.267324 > 3 bytes data, server => client 20:55:26.267333 '.\r\n' 20:55:26.310322 < 6 bytes data, client => server 20:55:26.310339 'QUIT\r\n' 20:55:26.310505 Received DATA (on stdin) 20:55:26.310516 > 34 bytes data, server => client 20:55:26.310526 '+OK curl POP3 server signing off\r\n' 20:55:26.310770 ====> Client disconnect 20:55:26.310911 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 ==150732== ==150732== Process terminating with default action of signal 4 (SIGILL) ==150732== Illegal opcode at address 0x4003082 ==150732== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150732== by 0x4003082: main (tool_main.c:243) === End of file valgrind888 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/11/valgrind887 ../src/curl -q --output log/11/curl887.out --include --trace-ascii log/11/trace887 --trace-config all --trace-time pop3://127.0.0.1:36729/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout887 2> log/11/stderr887 887: protocCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind898 ../src/curl -q --output log/15/curl898.out --include --trace-ascii log/15/trace898 --trace-config all --trace-time -x http://127.0.0.1:39051 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/15/stdout898 2> log/15/stderr898 ol 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 887 === Start of file commands.log ../libtool --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/valgrind887 ../src/curl -q --output log/11/curl887.out --include --trace-ascii log/11/trace887 --trace-config all --trace-time pop3://127.0.0.1:36729/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout887 2> log/11/stderr887 === End of file commands.log === Start of file pop3_server.log 20:55:26.043551 ====> Client connect 20:55:26.043674 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.044338 < "CAPA" 20:55:26.044390 > "-ERR Unrecognized command[CR][LF]" 20:55:26.044654 < "RETR verifiedserver" 20:55:26.044679 return proof we are we 20:55:26.044699 > "+OK Mail transfer starts[CR][LF]" 20:55:26.044716 > "WE ROOLZ: 148443[CR][LF]" 20:55:26.044729 > ".[CR][LF]" 20:55:26.088935 < "QUIT" 20:55:26.088983 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.089424 MAIN sockfilt said DISC 20:55:26.089446 ====> Client disconnected 20:55:26.089764 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.264522 ====> Client connect 20:55:26.265359 Received DATA (on stdin) 20:55:26.265386 > 178 bytes data, server => client 20:55:26.265398 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.265408 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.265419 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.265427 've \r\n' 20:55:26.265692 < 6 bytes data, client => server 20:55:26.265713 'CAPA\r\n' 20:55:26.265987 Received DATA (on stdin) 20:55:26.266005 > 27 bytes data, server => client 20:55:26.266015 '-ERR Unrecognized command\r\n' 20:55:26.266076 < 21 bytes data, client => server 20:55:26.266088 'RETR verifiedserver\r\n' 20:55:26.266237 Received DATA (on stdin) 20:55:26.266248 > 26 bytes data, server => client 20:55:26.266258 '+OK Mail transfer starts\r\n' 20:55:26.266279 Received DATA (on stdin) 20:55:26.266289 > 18 bytes data, server => client 20:55:26.266298 'WE ROOLZ: 148443\r\n' 20:55:26.266310 Received DATA (on stdin) 20:55:26.266319 > 3 bytes data, server => client 20:55:26.266329 '.\r\n' 20:55:26.310305 < 6 bytes data, client => server 20:55:26.310326 'QUIT\r\n' 20:55:26.310492 Received DATA (on stdin) 20:55:26.310503 > 34 bytes data, server => client 20:55:26.310513 '+OK curl POP3 server signing off\r\n' 20:55:26.310749 ====> Client disconnect 20:55:26.310969 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzY3MjkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==150724== ==150724== Process terminating with default action of signal 4 (SIGILL) ==150724== Illegal opcode at address 0x4003082 ==150724== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150724== by 0x4003082: main (tool_main.c:243) === 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/2/valgrind889 ../src/curl -q --output log/2/curl889.out --include --trace-ascii log/2/trace889 --trace-config all --trace-time pop3://127.0.0.1:43693/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/2/stdout889 2> log/2/stderr889 889: 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 889 === Start of file commands.log ../libtool --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/valgrind889 ../src/curl -q --output log/2/curl889.out --include --trace-ascii log/2/trace889 --trace-config all --trace-time pop3://127.0.0.1:43693/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/2/stdout889 2> log/2/stderr889 === End of file commands.log === Start of file pop3_server.log 20:55:26.053876 ====> Client connect 20:55:26.054029 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.054338 < "CAPA" 20:55:26.054387 > "-ERR Unrecognized command[CR][LF]" 20:55:26.054563 < "RETR verifiedserver" 20:55:26.054589 return proof we are we 20:55:26.054608 > "+OK Mail transfer starts[CR][LF]" 20:55:26.054624 > "WE ROOLZ: 148852[CR][LF]" 20:55:26.054638 > ".[CR][LF]" 20:55:26.099084 < "QUIT" 20:55:26.099133 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.099237 MAIN sockfilt said DISC 20:55:26.099259 ====> Client disconnected 20:55:26.099308 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.275288 ====> Client connect 20:55:26.275555 Received DATA (on stdin) 20:55:26.275571 > 178 bytes data, server => client 20:55:26.275583 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.275593 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.275602 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.275611 've \r\n' 20:55:26.275685 < 6 bytes data, client => server 20:55:26.275696 'CAPA\r\n' 20:55:26.275898 Received DATA (on stdin) 20:55:26.275913 > 27 bytes data, server => client 20:55:26.275921 '-ERR Unrecognized command\r\n' 20:55:26.275994 < 21 bytes data, client => server 20:55:26.276003 'RETR verifiedserver\r\n' 20:55:26.276145 Received DATA (on stdin) 20:55:26.276156 > 26 bytes data, server => client 20:55:26.276165 '+OK Mail transfer starts\r\n' 20:55:26.276184 Received DATA (on stdin) 20:55:26.276193 > 18 bytes data, server => client 20:55:26.276202 'WE ROOLZ: 148852\r\n' 20:55:26.276213 Received DATA (on stdin) 20:55:26.276222 > 3 bytes data, server => client 20:55:26.276231 '.\r\n' 20:55:26.320467 < 6 bytes data, client => server 20:55:26.320483 'QUIT\r\n' 20:55:26.320641 Received DATA (on stdin) 20:55:26.320651 > 34 bytes data, server => client 20:55:26.320659 '+OK curl POP3 server signing off\r\n' 20:55:26.320699 ====> Client disconnect 20:55:26.320813 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDM2OTMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==150775== ==150775== Process terminating with default action of signal 4 (SIGILL) ==150775== Illegal opcode at address 0x4003082 ==150775== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150775== by 0x4003082: main (tool_main.c:243) === End of file valgrind889 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/15/valgrind898 ../src/curl -q --output log/15/curl898.out --include --trace-ascii log/15/trace898 --trace-config all --trace-time -x http://127.0.0.1:39051 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA=="CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind894 ../src/curl -q --output log/20/curl894.out --include --trace-ascii log/20/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:35143/894 > log/20/stdout894 2> log/20/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/6/valgrind899 ../src/curl -q --output log/6/curl899.out --include --trace-ascii log/6/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:38475/899 -L > log/6/stdout899 2> log/6/stderr899 > log/15/stdout898 2> log/15/stderr898 898: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 898 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind898 ../src/curl -q --output log/15/curl898.out --include --trace-ascii log/15/trace898 --trace-config all --trace-time -x http://127.0.0.1:39051 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/15/stdout898 2> log/15/stderr898 === End of file commands.log === Start of file http_server.log 20:55:26.352272 ====> Client connect 20:55:26.352298 accept_connection 3 returned 4 20:55:26.352313 accept_connection 3 returned 0 20:55:26.352324 Read 93 bytes 20:55:26.352332 Process 93 bytes request 20:55:26.352342 Got request: GET /verifiedserver HTTP/1.1 20:55:26.352349 Are-we-friendly question received 20:55:26.352365 Wrote request (93 bytes) input to log/15/server.input 20:55:26.352377 Identifying ourselves as friends 20:55:26.352429 Response sent (57 bytes) and written to log/15/server.response 20:55:26.352437 special request received, no persistency 20:55:26.352444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39051... * Connected to 127.0.0.1 (127.0.0.1) port 39051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39051 > User-Agent: curl/8.14.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: 104809 === 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: 18 WE ROOLZ: 104809 === End of file server.response === Start of file valgrind898 ==151071== ==151071== Process terminating with default action of signal 4 (SIGILL) ==151071== Illegal opcode at address 0x4003082 ==151071== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151071== by 0x4003082: main (tool_main.c:243) === End of file valgrind898 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/20/valgrind894 ../src/curl -q --output log/20/curl894.out --include --trace-ascii log/20/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:35143/894 > log/20/stdout894 2> log/20/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/20/ dir after test 894 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind894 ../src/curl -q --output log/20/curl894.out --include --trace-ascii log/20/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:35143/894 > log/20/stdout894 2> log/20/stderr894 === End of file commands.log === Start of file pop3_server.log 20:55:26.076525 ====> Client connect 20:55:26.076675 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 20:55:26.076950 < "CAPA" 20:55:26.076993 > "-ERR Unrecognized command[CR][LF]" 20:55:26.077108 < "RETR verifiedserver" 20:55:26.077131 return proof we are we 20:55:26.077151 > "+OK Mail transfer starts[CR][LF]" 20:55:26.077167 > "WE ROOLZ: 148861[CR][LF]" 20:55:26.077182 > ".[CR][LF]" 20:55:26.118958 < "QUIT" 20:55:26.119009 > "+OK curl POP3 server signing off[CR][LF]" 20:55:26.119168 MAIN sockfilt said DISC 20:55:26.119192 ====> Client disconnected 20:55:26.119251 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:26.297955 ====> Client connect 20:55:26.298195 Received DATA (on stdin) 20:55:26.298210 > 178 bytes data, server => client 20:55:26.298219 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 20:55:26.298227 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 20:55:26.298234 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 20:55:26.298241 've \r\n' 20:55:26.298309 < 6 bytes data, client => server 20:55:26.298325 'CAPA\r\n' 20:55:26.298498 Received DATA (on stdin) 20:55:26.298508 > 27 bytes data, server => client 20:55:26.298516 '-ERR Unrecognized command\r\n' 20:55:26.298557 < 21 bytes data, client => server 20:55:26.298570 'RETR verifiedserver\r\n' 20:55:26.298660 Received DATA (on stdin) 20:55:26.298671 > 26 bytes data, server => client 20:55:26.298681 '+OK Mail transfer starts\r\n' 20:55:26.298699 Received DATA (on stdin) 20:55:26.298707 > 18 bytes data, server => client 20:55:26.298714 'WE ROOLZ: 148861\r\n' 20:55:26.298723 Received DATA (on stdin) 20:55:26.298729 > 3 bytes data, server => client 20:55:26.298736 '.\r\n' 20:55:26.340312 < 6 bytes data, client => server 20:55:26.340333 'QUIT\r\n' 20:55:26.340520 Received DATA (on stdin) 20:55:26.340532 > 34 bytes data, server => client 20:55:26.340542 '+OK curl POP3 server signing off\r\n' 20:55:26.340620 ====> Client disconnect 20:55:26.340761 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 ==150934== ==150934== Process terminating with default action of signal 4 (SIGILL) ==150934== Illegal opcode at address 0x4003082 ==150934== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==150934== by 0x4003082: main (tool_main.c:243) === End of file valgrind894 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/6/valgrind899 ../src/curl -q --output log/6/curl899.out --include --trace-ascii log/6/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:38475/899 -L > log/6/stdout899 2> log/6/stderr899 899: 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 899 === Start of file commands.log ../libtool --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/valgrind899 ../src/curl -q --output log/6/curl899.out --include --trace-ascii log/6/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:38475/899 -L > log/6/stdout899 2> log/6/stderr899 === End of file commands.log === Start of file http_server.log 20:55:26.475820 ====> Client connect 20:55:26.475851 accept_connection 3 returned 4 20:55:26.475868 accept_connection 3 returned 0 20:55:26.475882 Read 93 bytes 20:55:26.475891 Process 93 bytes request 20:55:26.475905 Got request: GET /verifiedserver HTTP/1.1 20:55:26.475914 Are-we-friendly question received 20:55:26.475937 Wrote request (93 bytes) input to log/6/server.input 20:55:26.475953 Identifying ourselves as friends 20:55:26.476003 Response sent (57 bytes) and written to log/6/server.response 20:55:26.476012 special request received, no persistency 20:55:26.476020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38475... * Connected to 127.0.0.1 (127.0.0.1) port 38475 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38475 > User-Agent: curl/8.14.1 > Accept: */* > * Request completely sent offCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind873 ../src/curl -q --output log/24/curl873.out --include --trace-ascii log/24/trace873 --trace-config all --trace-time pop3://127.0.0.1:35671/873 -u testuser:testpass --sasl-ir > log/24/stdout873 2> log/24/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/3/valgrind872 ../src/curl -q --output log/3/curl872.out --include --trace-ascii log/3/trace872 --trace-config all --trace-time pop3://127.0.0.1:46881/872 -u user:secret --sasl-ir > log/3/stdout872 2> log/3/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/19/valgrind900 ../src/curl -q --output log/19/curl900.out --include --trace-ascii log/19/trace900 --trace-config all --trace-time smtp://127.0.0.1:43115/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout900 2> log/19/stderr900 < 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: 106365 === 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: 18 WE ROOLZ: 106365 === End of file server.response === Start of file valgrind899 ==151404== ==151404== Process terminating with default action of signal 4 (SIGILL) ==151404== Illegal opcode at address 0x4003082 ==151404== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151404== by 0x4003082: main (tool_main.c:243) === End of file valgrind899 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/pop3_server.pid" --logfile "log/24/pop3_server.log" --logdir "log/24" --portfile "log/24/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35671 (log/24/server/pop3_server.port) RUN: POP3 server is PID 149190 port 35671 * pid pop3 => 149190 149190 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/24/valgrind873 ../src/curl -q --output log/24/curl873.out --include --trace-ascii log/24/trace873 --trace-config all --trace-time pop3://127.0.0.1:35671/873 -u testuser:testpass --sasl-ir > log/24/stdout873 2> log/24/stderr873 873: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir after test 873 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind873 ../src/curl -q --output log/24/curl873.out --include --trace-ascii log/24/trace873 --trace-config all --trace-time pop3://127.0.0.1:35671/873 -u testuser:testpass --sasl-ir > log/24/stdout873 2> log/24/stderr873 === End of file commands.log === Start of file pop3_server.log 20:55:25.356652 POP3 server listens on port IPv4/35671 20:55:25.356702 logged pid 149190 in log/24/server/pop3_server.pid 20:55:25.356717 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:25.578002 Running IPv4 version 20:55:25.578044 Listening on port 35671 20:55:25.578068 Wrote pid 149203 to log/24/server/pop3_sockfilt.pid 20:55:25.578086 Wrote port 35671 to log/24/server/pop3_server.port 20:55:25.578099 Received PING (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 ==151473== ==151473== Process terminating with default action of signal 4 (SIGILL) ==151473== Illegal opcode at address 0x4003082 ==151473== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151473== by 0x4003082: main (tool_main.c:243) === End of file valgrind873 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 46881 (log/3/server/pop3_server.port) RUN: POP3 server is PID 149173 port 46881 * pid pop3 => 149173 149173 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/3/valgrind872 ../src/curl -q --output log/3/curl872.out --include --trace-ascii log/3/trace872 --trace-config all --trace-time pop3://127.0.0.1:46881/872 -u user:secret --sasl-ir > log/3/stdout872 2> log/3/stderr872 872: 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 872 === Start of file commands.log ../libtool --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/valgrind872 ../src/curl -q --output log/3/curl872.out --include --trace-ascii log/3/trace872 --trace-config all --trace-time pop3://127.0.0.1:46881/872 -u user:secret --sasl-ir > log/3/stdout872 2> log/3/stderr872 === End of file commands.log === Start of file pop3_server.log 20:55:25.348627 POP3 server listens on port IPv4/46881 20:55:25.348739 logged pid 149173 in log/3/server/pop3_server.pid 20:55:25.348771 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 20:55:25.569918 Running IPv4 version 20:55:25.569960 Listening on port 46881 20:55:25.569985 Wrote pid 149200 to log/3/server/pop3_sockfilt.pid 20:55:25.570004 Wrote port 46881 to log/3/server/pop3_server.port 20:55:25.570017 Received PING (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 ==151460== ==151460== Process terminating with default action of signal 4 (SIGILL) ==151460== Illegal opcode at address 0x4003082 ==151460== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151460== by 0x4003082: main (tool_main.c:243) === End of file valgrind872 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/19/valgrind900 ../src/curl -q --output log/19/curl900.out --include --trace-ascii log/19/trace900 --trace-config all --trace-time smtp://127.0.0.1:43115/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout900 2> log/19/stderr900 900: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind900 ../src/curl -q --output log/19/curl900.out --include --trace-ascii log/19/trace900 --trace-config all --trace-time smtp://127.0.0.1:43115/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout900 2> log/19/stderr900 === End of file commands.log === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 20:55:26.410285 ====> Client connect 20:55:26.410431 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:26.410710 < "EHLO verifiedserver" 20:55:26.410758 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 20:55:26.410926 < "HELP" 20:55:26.410958 > "214 WE ROOLZ: 139175[CR][LF]" 20:55:26.410970 return proof we are we 20:55:26.411207 < "QUIT" 20:55:26.411257 > "221 curl ESMTP server signing off[CR][LF]" 20:55:26.411435 MAIN sockfilt said DISC 20:55:26.411456 ====> Client disconnected 20:55:26.411517 AwaitingCMD (33792): ../libtool --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/valgrind916 ../src/curl -q --output log/11/curl916.out --include --trace-ascii log/11/trace916 --trace-config all --trace-time smtp://127.0.0.1:36853/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/11/stdout916 2> log/11/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/15/valgrind918 ../src/curl -q --output log/15/curl918.out --include --trace-ascii log/15/trace918 --trace-config all --trace-time smtp://127.0.0.1:46061/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/15/stdout918 2> log/15/stderr918 input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:26.631700 ====> Client connect 20:55:26.631956 Received DATA (on stdin) 20:55:26.631973 > 160 bytes data, server => client 20:55:26.631984 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:26.631995 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:26.632005 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:26.632078 < 21 bytes data, client => server 20:55:26.632090 'EHLO verifiedserver\r\n' 20:55:26.632268 Received DATA (on stdin) 20:55:26.632280 > 53 bytes data, server => client 20:55:26.632291 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 20:55:26.632342 < 6 bytes data, client => server 20:55:26.632353 'HELP\r\n' 20:55:26.632475 Received DATA (on stdin) 20:55:26.632485 > 22 bytes data, server => client 20:55:26.632494 '214 WE ROOLZ: 139175\r\n' 20:55:26.632571 < 6 bytes data, client => server 20:55:26.632582 'QUIT\r\n' 20:55:26.632779 Received DATA (on stdin) 20:55:26.632799 > 35 bytes data, server => client 20:55:26.632810 '221 curl ESMTP server signing off\r\n' 20:55:26.632897 ====> Client disconnect 20:55:26.633026 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 ==151579== ==151579== Process terminating with default action of signal 4 (SIGILL) ==151579== Illegal opcode at address 0x4003082 ==151579== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151579== by 0x4003082: main (tool_main.c:243) === End of file valgrind900 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/11/valgrind916 ../src/curl -q --output log/11/curl916.out --include --trace-ascii log/11/trace916 --trace-config all --trace-time smtp://127.0.0.1:36853/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/11/stdout916 2> log/11/stderr916 916: 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 916 === Start of file commands.log ../libtool --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/valgrind916 ../src/curl -q --output log/11/curl916.out --include --trace-ascii log/11/trace916 --trace-config all --trace-time smtp://127.0.0.1:36853/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/11/stdout916 2> log/11/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 20:55:26.644987 ====> Client connect 20:55:26.645157 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:26.645472 < "EHLO verifiedserver" 20:55:26.645533 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 20:55:26.645711 < "HELP" 20:55:26.645736 > "214 WE ROOLZ: 139216[CR][LF]" 20:55:26.645747 return proof we are we 20:55:26.645900 < "QUIT" 20:55:26.645923 > "221 curl ESMTP server signing off[CR][LF]" 20:55:26.646821 MAIN sockfilt said DISC 20:55:26.646847 ====> Client disconnected 20:55:26.646900 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:26.865749 ====> Client connect 20:55:26.866683 Received DATA (on stdin) 20:55:26.866703 > 160 bytes data, server => client 20:55:26.866715 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:26.866726 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:26.866736 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:26.866826 < 21 bytes data, client => server 20:55:26.866841 'EHLO verifiedserver\r\n' 20:55:26.867052 Received DATA (on stdin) 20:55:26.867070 > 53 bytes data, server => client 20:55:26.867082 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 20:55:26.867146 < 6 bytes data, client => server 20:55:26.867156 'HELP\r\n' 20:55:26.867249 Received DATA (on stdin) 20:55:26.867257 > 22 bytes data, server => client 20:55:26.867264 '214 WE ROOLZ: 139216\r\n' 20:55:26.867330 < 6 bytes data, client => server 20:55:26.867339 'QUIT\r\n' 20:55:26.867425 Received DATA (on stdin) 20:55:26.867433 > 35 bytes data, server => client 20:55:26.867441 '221 curl ESMTP server signing off\r\n' 20:55:26.868269 ====> Client disconnect 20:55:26.868406 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 ==151686== ==151686== Process terminating with default action of signal 4 (SIGILL) ==151686== Illegal opcode at address 0x4003082 ==151686== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151686== by 0x4003082: main (tool_main.c:243) === End of file valgrind916 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/15/valgrind918 ../src/curl -q --output log/15/curl918.out --include --trace-ascii log/15/trace918 --trace-config all --trace-time smtp://127.0.0.1:46061/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/15/stdout918 2> log/15/stderr918 918: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir after test 918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind918 ../src/curl -q --output log/15/curl918.out --include --trace-ascii log/15/trace918 --trace-config all --trace-time smtp://127.0.0.1:46061/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/15/stdout918 2> log/15/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 20:55:26.647099 ====> Client connect 20:55:26.647241 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:26.647485 < "EHLO verifiedserver" 20:55:26.647531 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 20:55:26.647672 < "HELP" 20:55:26.647700 > "214 WE ROOLZ: 139181[CR][LF]" 20:55:26.647710 return proof we are we 20:55:26.647871 < "QUIT" 20:55:26.647893 > "221 curl ESMTP server signing off[CR][LF]" 20:55:26.648443 MAIN sockfilt said DISC 20:55:26.648462 ====> Client disconnected 20:55:26.648510 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:26.868504 ====> Client connect 20:55:26.868761 Received DATA (on stdin) 20:55:26.868775 > 160 bytes data, server => client 20:55:26.868784 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:26.868792 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:26.868799 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:26.868861 < 21 bytes data, client => server 20:55:26.868871 'EHLO verifiedserver\r\n' 20:55:26.869038 Received DATA (on stdin) 20:55:26.869046 > 53 bytes dataCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind731 ../src/curl -q --output log/21/curl731.out --include --trace-ascii log/21/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout731 2> log/21/stderr731 CMD (33792): ../libtool --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:46877/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/19/valgrind923 ../src/curl -q --output log/19/curl923.out --include --trace-ascii log/19/trace923 --trace-config all --trace-time smtp://127.0.0.1:43115/923 --mail-rcpt recipient > log/19/stdout923 2> log/19/stderr923 , server => client 20:55:26.869054 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 20:55:26.869095 < 6 bytes data, client => server 20:55:26.869103 'HELP\r\n' 20:55:26.869198 Received DATA (on stdin) 20:55:26.869211 > 22 bytes data, server => client 20:55:26.869219 '214 WE ROOLZ: 139181\r\n' 20:55:26.869303 < 6 bytes data, client => server 20:55:26.869313 'QUIT\r\n' 20:55:26.869396 Received DATA (on stdin) 20:55:26.869405 > 35 bytes data, server => client 20:55:26.869412 '221 curl ESMTP server signing off\r\n' 20:55:26.869905 ====> Client disconnect 20:55:26.870010 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 ==151689== ==151689== Process terminating with default action of signal 4 (SIGILL) ==151689== Illegal opcode at address 0x4003082 ==151689== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151689== by 0x4003082: main (tool_main.c:243) === End of file valgrind918 setenv HOME = /startdir/src/build-curl/tests/log/21 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/21/valgrind731 ../src/curl -q --output log/21/curl731.out --include --trace-ascii log/21/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout731 2> log/21/stderr731 731: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ dir after test 731 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind731 ../src/curl -q --output log/21/curl731.out --include --trace-ascii log/21/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout731 2> log/21/stderr731 === End of file commands.log === Start of file http_server.log 20:55:21.382669 ====> Client connect 20:55:21.382692 accept_connection 3 returned 4 20:55:21.382705 accept_connection 3 returned 0 20:55:21.382715 Read 93 bytes 20:55:21.382722 Process 93 bytes request 20:55:21.382730 Got request: GET /verifiedserver HTTP/1.1 20:55:21.382737 Are-we-friendly question received 20:55:21.382759 Wrote request (93 bytes) input to log/21/server.input 20:55:21.382771 Identifying ourselves as friends 20:55:21.382808 Response sent (57 bytes) and written to log/21/server.response 20:55:21.382815 special request received, no persistency 20:55:21.382821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36793... * Connected to 127.0.0.1 (127.0.0.1) port 36793 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36793 > User-Agent: curl/8.14.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: 104797 === 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: 18 WE ROOLZ: 104797 === End of file server.response === Start of file valgrind731 ==143565== ==143565== Process terminating with default action of signal 4 (SIGILL) ==143565== Illegal opcode at address 0x4003082 ==143565== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==143565== by 0x4003082: main (tool_main.c:243) === End of file valgrind731 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:46877/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 commands.log ../libtool --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:46877/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 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 235 Authenticated Testnum 922 === End of file server.cmd === Start of file smtp_server.log 20:55:26.761264 ====> Client connect 20:55:26.761440 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:26.761667 < "EHLO verifiedserver" 20:55:26.761697 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 20:55:26.761804 < "HELP" 20:55:26.761822 > "214 WE ROOLZ: 139184[CR][LF]" 20:55:26.761831 return proof we are we 20:55:26.762005 < "QUIT" 20:55:26.762062 > "221 curl ESMTP server signing off[CR][LF]" 20:55:26.762183 MAIN sockfilt said DISC 20:55:26.762203 ====> Client disconnected 20:55:26.762258 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:26.982674 ====> Client connect 20:55:26.982957 Received DATA (on stdin) 20:55:26.982970 > 160 bytes data, server => client 20:55:26.982979 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:26.982986 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:26.982993 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:26.983064 < 21 bytes data, client => server 20:55:26.983072 'EHLO verifiedserver\r\n' 20:55:26.983201 Received DATA (on stdin) 20:55:26.983209 > 53 bytes data, server => client 20:55:26.983216 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 20:55:26.983252 < 6 bytes data, client => server 20:55:26.983259 'HELP\r\n' 20:55:26.983331 Received DATA (on stdin) 20:55:26.983339 > 22 bytes data, server => client 20:55:26.983345 '214 WE ROOLZ: 139184\r\n' 20:55:26.983413 < 6 bytes data, client => server 20:55:26.983421 'QUIT\r\n' 20:55:26.983575 Received DATA (on stdin) 20:55:26.983590 > 35 bytes data, server => client 20:55:26.983601 '221 curl ESMTP server signing off\r\n' 20:55:26.983645 ====> Client disconnect 20:55:26.983766 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 ==151814== ==151814== Process terminating with default action of signal 4 (SIGILL) ==151814== Illegal opcode at address 0x4003082 ==151814== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151814== by 0x4003082: main (tool_main.c:243) === End of file valgrind922 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/19/valgrind923 ../src/curl -q --output log/19/curl923.out --include --trace-ascii log/19/trace923 --trace-config all --trace-time smtp://127.0.0.1:43115/923 --mail-rcpt recipient > log/19/stdout923 2> log/19/stderr923 923: protocol FAILED! 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/14/valgrind740 ../src/curl -q --output log/14/curl740.out --include --trace-ascii log/14/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout740 2> log/14/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/valgrind925 ../src/curl -q --output log/11/curl925.out --include --trace-ascii log/11/trace925 --trace-config all --trace-time smtp://127.0.0.1:36853/925 --mail-rcpt user@example.net > log/11/stdout925 2> log/11/stderr925 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind924 ../src/curl -q --output log/15/curl924.out --include --trace-ascii log/15/trace924 --trace-config all --trace-time smtp://127.0.0.1:46061/924 --mail-rcpt smith > log/15/stdout924 2> log/15/stderr924 re was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir after test 923 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind923 ../src/curl -q --output log/19/curl923.out --include --trace-ascii log/19/trace923 --trace-config all --trace-time smtp://127.0.0.1:43115/923 --mail-rcpt recipient > log/19/stdout923 2> log/19/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 20:55:26.812771 ====> Client connect 20:55:26.812877 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:26.813067 < "EHLO verifiedserver" 20:55:26.813092 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 20:55:26.813197 < "HELP" 20:55:26.813215 > "214 WE ROOLZ: 139175[CR][LF]" 20:55:26.813224 return proof we are we 20:55:26.813346 < "QUIT" 20:55:26.813366 > "221 curl ESMTP server signing off[CR][LF]" 20:55:26.813833 MAIN sockfilt said DISC 20:55:26.813851 ====> Client disconnected 20:55:26.813888 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:27.034204 ====> Client connect 20:55:27.034386 Received DATA (on stdin) 20:55:27.034397 > 160 bytes data, server => client 20:55:27.034405 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:27.034412 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:27.034418 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:27.034476 < 21 bytes data, client => server 20:55:27.034485 'EHLO verifiedserver\r\n' 20:55:27.034595 Received DATA (on stdin) 20:55:27.034603 > 53 bytes data, server => client 20:55:27.034610 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 20:55:27.034645 < 6 bytes data, client => server 20:55:27.034653 'HELP\r\n' 20:55:27.034724 Received DATA (on stdin) 20:55:27.034731 > 22 bytes data, server => client 20:55:27.034738 '214 WE ROOLZ: 139175\r\n' 20:55:27.034798 < 6 bytes data, client => server 20:55:27.034809 'QUIT\r\n' 20:55:27.034867 Received DATA (on stdin) 20:55:27.034875 > 35 bytes data, server => client 20:55:27.034882 '221 curl ESMTP server signing off\r\n' 20:55:27.035303 ====> Client disconnect 20:55:27.035389 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==151881== ==151881== Process terminating with default action of signal 4 (SIGILL) ==151881== Illegal opcode at address 0x4003082 ==151881== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==151881== by 0x4003082: main (tool_main.c:243) === End of file valgrind923 setenv HOME = /startdir/src/build-curl/tests/log/14 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/14/valgrind740 ../src/curl -q --output log/14/curl740.out --include --trace-ascii log/14/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout740 2> log/14/stderr740 740: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir after test 740 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind740 ../src/curl -q --output log/14/curl740.out --include --trace-ascii log/14/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout740 2> log/14/stderr740 === End of file commands.log === Start of file http_server.log 20:55:21.859176 ====> Client connect 20:55:21.859198 accept_connection 3 returned 4 20:55:21.859211 accept_connection 3 returned 0 20:55:21.859287 Read 93 bytes 20:55:21.859301 Process 93 bytes request 20:55:21.859313 Got request: GET /verifiedserver HTTP/1.1 20:55:21.859322 Are-we-friendly question received 20:55:21.859345 Wrote request (93 bytes) input to log/14/server.input 20:55:21.859361 Identifying ourselves as friends 20:55:21.859414 Response sent (57 bytes) and written to log/14/server.response 20:55:21.859424 special request received, no persistency 20:55:21.859432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35661... * Connected to 127.0.0.1 (127.0.0.1) port 35661 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35661 > User-Agent: curl/8.14.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: 104808 === 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: 18 WE ROOLZ: 104808 === End of file server.response === Start of file valgrind740 ==144623== ==144623== Process terminating with default action of signal 4 (SIGILL) ==144623== Illegal opcode at address 0x4003082 ==144623== at 0x4003082: UnknownInlinedFun (string_fortified.h:59) ==144623== by 0x4003082: main (tool_main.c:243) === End of file valgrind740 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/11/valgrind925 ../src/curl -q --output log/11/curl925.out --include --trace-ascii log/11/trace925 --trace-config all --trace-time smtp://127.0.0.1:36853/925 --mail-rcpt user@example.net > log/11/stdout925 2> log/11/stderr925 925: 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 925 === Start of file commands.log ../libtool --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/valgrind925 ../src/curl -q --output log/11/curl925.out --include --trace-ascii log/11/trace925 --trace-config all --trace-time smtp://127.0.0.1:36853/925 --mail-rcpt user@example.net > log/11/stdout925 2> log/11/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 20:55:27.044781 ====> Client connect 20:55:27.044876 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 20:55:27.045079 < "EHLO verifiedserver" 20:55:27.045107 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 20:55:27.045339 < "HELP" 20:55:27.045402 > "214 WE ROOLZ: 139216[CR][LF]" 20:55:27.045421 return proof we are we 20:55:27.045599 < "QUIT" 20:55:27.045618 > "221 curl ESMTP server signing off[CR][LF]" 20:55:27.046061 MAIN sockfilt said DISC 20:55:27.046079 ====> Client disconnected 20:55:27.046111 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 20:55:27.266191 ====> Client connect 20:55:27.266388 Received DATA (on stdin) 20:55:27.266398 > 160 bytes data, server => client 20:55:27.266407 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 20:55:27.266415 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 20:55:27.266421 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 20:55:27.266472 < 21 bytes data, client CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind928 ../src/curl -q --output log/19/curl928.out --include --trace-ascii log/19/trace928 --trace-config all --trace-time smtp://127.0.0.1:43115/928 > log/19/stdout928 2> log/19/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/3/valgrind927 ../src/curl -q --output log/3/curl927.out --include --trace-ascii log/3/trace927 --trace-config all --trace-time smtp://127.0.0.1:46877/927 --mail-rcpt Friends -X EXPN > log/3/stdout927 2> log/3/stderr927 => server 20:55:27.266485 'EHLO verifiedserver\r\n' 20:55:27.266610 Received DATA (on stdin) 20:55:27.266618 > 53 bytes data, serv